Personal Wiki

I have been keeping org-mode1 notes on a daily basis for a couple of years now. I started keeping journal notes with Evernote around 2012, but soon got disillusioned on proprietary formats for keeping notes, especially given that I pretty much hate to use any text interface without good Vi key bindings. After learning about the power, flexibility and simplicity of org-mode with Emacs, which does have a pretty good Vi mode2, I transitioned to use org-mode for journal notes exclusively....

August 21, 2019

Customising IdeaVim

Vim in IntelliJ IDEA IDEA is one of the IDEs with relatively good support for Vim with the IdeaVim Plugin2. Even though one can come close to functionality offered by IntelliJ with either Vim or Emacs Plugins, I find that IntelliJ IDEA is a must have for Scala development, in my experience. However, with IdeaVim Plugin you can still get the best of both world’s by leveraging your Vim editing muscle memory via IdeaVim plugin....

July 27, 2019

Configuring Fish Shell

I have been eyeing to change the default shell from Zsh to Fish shell for a while now, but never made the transition because I missed a couple of power tools and configurations which didn’t work in the quite the same way on fish. After giving fish shell configuration another go, I found that I could configure fish to match the functionality of my current zsh configuration with some new features and niceties which comes with a modern shell....

April 1, 2018

Vim Global Commands

Global command1 is a very powerful, and a little under-utilised command from my personal usage. Global command offers a powerful, composable alternative to macros. Use cases Usefulness of global commands is best explained through some practical examples. Using Vim global command to increment numbers <inventory> <item> <name>Coffee</name> <price>230</price> </item> <item> <name>Sugar</name> <price>280</price> </item> <item> <name>Tea</name> <price>120</price> </item> ... </inventory> Let’s say you have an XML file which looks as above, and you want to increase the price of the items by 100 each....

February 20, 2018

Using Fasd for Command Line Navigation

Changing working directories is one of the most common operations you do while working on the command line. While tab completion can help make path completion more efficient, it is still a chore to do things manually, especially when moving back and forth between commonly worked on project locations. fasd is a tools which can help improve the efficiency of navigating the file system. Fasd tool is a shell tool which integrates with shells to remember directories and files you have worked on recectly....

February 7, 2018