VIM Part I – Get a basic VIM up and running

Recently, I “buzzed” that how much I love VIM. Then one friends thought of trying VIM. And by evening he had VIM un-installed from his system, terming it as an old tool in this age of bleeding edge GUI editors. This made me think that how many people dump VIM before even trying the features this editor has to give. So, here is my two cents to this editor.

I will try to write on how to setup this editor and then on we can go digging deeper. I use gvim on openSUSE 11.2 at home and on Windows XP at office. Barring a few different file names and file paths there is not much difference in the way gvim works in Linux and Windows. I will be specifying where ever and when ever required.

One thing, VIM is not an IDE, it is a simple (yet powerful) editor. It is not a replacement for Adobe Photoshop or anynthing like that. VIM is for people who like to “write down” their code. people who do not want to to take their hands off their keyboard. It is surely a blessing for LINUX/UNIX sys-admins. VIM is a VI like editor, VIM is VI Improved. And in addition to console editor, VIM also has a graphical front end GVIM, which brings the powe of VIM to the GUI. In all modern LINUX distros VIM is installed by default and you call only VIM when typing “vi” on the console, vi is aliased to vim. On windows you can download the EXE file from here. Download gvim72.exe. Direct link for gvim72.exe here. When installing on Windows, it will ask you for the kind of install, select “Full Install” there.

After installation the Windows user will get a batch file “gvim.bat” in C:\windows, it is this file which needs to be executed and not the gvim.exe found in C:\Program Files\Vim, that needs to be executed when we have to open gvim. But Windows users do not need to worry as whenever you type gvim in run command interface, it will always open gvim.bat. For Linux users, they can open gvim by typing in “gvim &” from the console (& will put the gvim in backgrouond in that console window), or type in gvim in Linux run command interface (Which can be opened by ALT+F2 in KDE). You will get a basic gvim running there.

This is it, installation is always the easiest way, it is the working with gvim which we have to learn. gvim is highly customizable editor, which you are going to know very soon. Gvim stores its settings in a file named “vimrc”. In windows the filename is “_vimrc” and it is located at C:\Program Files\vim. And, in Linux the filename is “.vimrc” and it is located at $HOME/.vim directory. If there is no vimrc file at these locations create them. If there is no “.vim” directory in $HOME, create it and then create a empty file “.vimrc” there.

For windows users there will be two directories in C:\Program Files\vim : vim72 and vimfiles. Whatever syntax changes, colorscheme changes any plugins that you add, they all need to be done in “vimfiles”i directory. And for “Linux” users it is the $HOME/.vim directory. This is to keep your customization safe when you are going to upgrade to future versions of VIM. e.g. VIM is going to release VIM 7.3, when you install that your vim72 directory will get irrelevant but you will not loose your customizations as the new vim installation will takje it from vimfiles folder, and in Linux it will be “.vim” directory. Other reason is that you can mess as much as you can with your vim, and if you screw it totally, you just need to empty vimfiles/.vim folder and everything will be fine again, then start again 🙂

So let’s make some basic changes in vimrc file and start editing… For winodws the changes need to be done in “_vimrc” and for Linux the changes need to be done in “.vimrc”.

Suppose you need to set you font to Lucida Console, 10 pt, Bold. To set your font
In Linux:

And in Windows:

Want to set a default colorscheme. Add this line to your vim:
Check the Vim color schemes sample here. Download your chosen colorscheme and put it in $HOME/.vim/colors (Unix) or C:\Program Files\Vim\vimfiles\colors (Windows) folder.

I am putitng my vimrc file here just for refrence. The comments in it explain what the commands do.

Note: ” in vimrc is for putting comment.
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/vimrc_example.vim
"I am a Cobol Developer :)
autocmd FileType cobol set sw=4 sts=4 et sta tw=7
set nocompatible
"Behave like Microsoft.. CTRL+P, CTRL+P stuff
source $VIMRUNTIME/mswin.vim
behave mswin
set nu "Display line numbers
set ignorecase
set smartcase
set nobackup
set nowrap
"Set file formats to Unix, the other options
"are ff=dos or ff=mac. If you open a file from 
"Windows while your gvim ff=unix, you will see 
"^M characters. These ^M characters are Windows 
"End of Line characters
set fileformats=unix
set guioptions=agimrLt;
"The following commands will indent your code the right amount, 
"using spaces rather than tabs and automatically indent after you 
set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
"<<< Complete indentation code
set autochdir
"Whenever I open or creat a file with extension pco, cpy or
"link, set its filetype to cobol, which will evoke proper
"syntax highlighting
au BufNewFile,BufRead *.pco set filetype=cobol
au BufNewFile,BufRead *.cpy set filetype=cobol
au BufNewFile,BufRead *.link set filetype=cobol
set diffexpr=MyDiff()
let cobol_legacy_code=1
let $p_h='/home/vivek/public_html'
set gfn=Consolas\ Bold\ 10
colorscheme ps_color
set cursorline
" Press Space to turn off highlighting and clear any message already displayed.
nnoremap   :nohlsearch:echo

"Tab navigation like firefox
nmap  :tabnext
nmap  :tabprevious
map  :tabprevious
map  :tabnext
imap  :tabpreviousi
imap  :tabnexti
nmap  :tabnew
imap  :tabnew
"Key map to copy the selected word and search it... Key Map: CTRL+F
map  /
imap  /
nmap  /
"Go Directly to Procedure Division in COBOL...
"CTRL+Z --> Undo
imap  :u
nmap  :u
map  :u
"CTRL+O --> Open a new tab and also open a window to browse 
nmap  :tabnew\|browse e
imap  :tabnew\|browse e
"CTRL+W --> Selects word
nmap  bvw
imap  bvw
"ATL+M --> Trim trailing spaces
nnoremap  :%s#\s*\r\?$##
inoremap  :%s#\s*\r\?$##
noremap   :%s#\s*\r\?$##
"CTRL+Down Arrow --> Scroll page down
"CTRL+Up Arrow --> Scroll page up
"CTRL+F1 --> Toggle Shortcuts Bar 
nnoremap  :if &go=~#'T'set go-=Telseset go+=Tendif

This is just for getting a basic Vim running on your machine. Next I will write down how to do real work in Vim.
Let me know if I missing something in this post.

Night on the Baner Road

While going on an evening cycling on Baner road I thought of picking my camera with me, and I tried to take pics of zooming vehicles on the night 🙂

Mansar Trip

05 June 2010 Weekend Party

My Lost Home in Kashmir…

Video Produced by: Deepak Ganju Images: Veer Munshi & Deepak Ganju Song: Arti Tiku Kaul See at shehjar Magazine at: Each image of Kashmiri Hindu House is stark, plain-spoken, without embellishment. There is no annotati ve manipulati on of these images, no theatricality, no vein of melodrama, no overtly elegiac air, no demand for sympathy. There they stand, in our line of sight: ruins, monuments, memorials. This is testimony to the unforgiving march of history, which takes no prisoners. ‘Ranjit Hoskote’
1 4 5 6 7 8 9