Tuesday, July 7, 2009

Close all windows in vimdiff - vi tip

a powerful file comparison tool (edit two or three versions of a file with Vim and show differences)

Two important window commands to close windows while performing vimdiff on multiple files. (Also applicable when you open multiple files using :split or :vsplit)

ctrl-w c - Close this window
ctrl-w o - close all Other windows (mnemonic - Only)

Two of vimdiff important commands:

do - (diff-obtain) obtain differences from other window into this one
dp - (diff-put) push differences in current window to the other window


Adithya Kiran said...

Undo your changes even after quitting the vim editor.

As all of us know that if you write and quit vim editor, the changes are permanent and you cannot get the old changes back.

For some reason, we badly want the previous changes back.

With vim v7.3, we can get the old changes back even after the quitting the editor.

So what to do?
Before editing the file, execute the following commands in vim normal mode

:set undofile
:set undodir=/tmp

that's it.!

In order to make this change as
permanent, do the following..

Create a file called ".exrc" or ".vimrc" file in $HOME directory. In my case it is /root. Dump the above commands without ":" like this into the .exrc or .vimrc.

set undofile
set undodir=/tmp

Save the file. From now onwards, undo history is maintained in background.

How to work with it?
Just hit "u" key to undo the changes just like the way when the file is not closed.

Where can i get the latest version?

Happy vimming...!

Unknown said...

@Adithya Kiran, this is really a cool tip. Thanks.

Adithya Kiran said...

Your blog is really nice one Jadu, Thanks a lot for accepting my tips onto your blog.:)

Adithya Kiran said...

Hi Jadu, Here's one more cool vim tip.

Capture a shell command output directly on to working buffer.




# vim sample.txt
cat /proc/cpuinfo

Now, keep cursor on the required line and type the below command.


that's it..! the command output is available on the buffer.


You can write 4-5 commands and select visually, and type :'<,'>!sh
for a group of commands

happy vimming..!

Adithya Kiran said...


With the below two tips, you can speed up your search for patterns in vim editor

In general, to search for a pattern like "kernel-headers-" in vim editor, we need to type the whole string (or) select the string using mouse, then / does the task. But there is one other way to accomplish the same task (using key board).

1. Place the cursor over the the string to be searched.
2. Type / (i.e / followed by ctrl+r followed by ctrl+a)

Corollary: / will place the word under cursor.

Unknown said...

@Adithya, thanks a ton. All your tips are really useful, much appreciated. Thanks again.

© Jadu Saikia www.UNIXCL.com