Writing shell scripts in vim I usually go search for functions or something. Copy lines and then go back to where I was and modify the code. However, I need to manually navigate way back to the previous / last position. How can I automatically go back to where I was when I started my search operation under vim?
Vim is a text editor that is upwards compatible to Vi. It supports the following markers and moving about keys:
[a] '. : Jump to last modification line.
[b] `. : Jump to exact spot in last modification line
[c] CTRL-O : Retrace your movements in file in backwards.
[d] CTRL-I : Retrace your movements in file in forwards.
From the vim help files:
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you can go to cursor positions before older jumps, and back again. Thus you can move up and down the list. There is a separate jump list for each window. The maximum number of entries is fixed at 100.
Example
Open a text file called functions.bash, run:
$ vim functions.bash
Move cursor or go to line # 300 by typing the following vim command
300 shift g
Search for a shell function called _addNfsClientUser
/_addNfsClientUser
To jump back to line # 300 or previous position press CTRL-O (press and hold Ctrl key and press letter O). To jump back forwards press CTRL-I (press and hold Ctrl key and press letter I).
See also
Type the following command to get helpful info about jumping:
:help jumplist
Posted by: Vivek Gite
The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.