About a year ago I finally bit the bullet and commited to learning a real text editor. I went with Vim. Once you break through its initial steep learning curve, its truly life changing. Your text editing skills will improve a few orders of magnitude. Level up from a text janitor to text surgeon today.
I usually clone my
scripts git repo straight into my home directory i.e.
~/git/scripts/linux/vim. A couple of symlinks later, I’m away:
ln -nfs ~/git/scripts/linux/vim/vimrc ~/.vimrc ln -nfs ~/git/scripts/linux/vim ~/.vim
Vim has brilliant built-in help. Its only one
Vim is very customisable. Its important to craft your own .vimrc. Type
:options to understand the various levers you can pull to make Vim your editor.
- To select a word
aw(a word) or
- To select a sentence
as(a sentence) or
is(inner sentence). See the pattern here.
- To select a paragraph
- A block
- A block (parentheses)
This is important to me. Coming from powerful IDE’s like IntelliJ or Resharper, in order to be remotely productive, I need to be able to efficiency locate and jump between files within a large code base.
Thankfully the community has stepped in here.
- NERDTree add’s a visual file system based tree.
- CtrlP my personal favourite, for text based fuzzy file, buffer, MRU file navigation. Its pure Vimscript so very portable.
Its kind of amazing how Vim just seems to pull this off with effortless ease.
Nifty windowing commands:
- Ctrl-w o - close all windows other than the active one.
- Ctrl-w x - exchange active window with the next one.
- Ctrl-w c - close the current window.
- Ctrl-w r (R) - rotate windows clockwise (or counter clockwise).
You can get into how Vim determines what specific size to make windows when splits occur. See
window-resize for more details.
Makes line numbering relative. So good! Makes it fast to figure out how many lines up or down you need to move, to get to the line you want.
2 I usually clone my `scripts` git repo straight into my home 1 ¬ 13 ln -nfs ~/git/scripts/linux/vim/vimrc ~/.vimrc¬ 1 ln -nfs ~/git/scripts/linux/vim ~/.vim¬ 2 ¬ 3 Vim has brilliant built-in help. Its only one `:help` away.