Almost all my life since I have started working around open source projects I have been a Vim user. That does not mean that I did not look into other options. I’ve tried my hands on Emacs, Sublime Text, Visual Studio Code, Atom, et cetera. But, none of them pleased me like vim.
2018, I started working on Golang, and vim had to adapt to my needs, but it did not quite succeed and I made my switch to neovim around the end of the year. Around the same time, I took a resolution to dive deep into neovim to increase my productivity.
Jump Lists
In golang, I heavily use a :GoDef
which is part of the vim-go plugin to go to a specific symbol or declaration.
Vim keeps track of all the jumps (previously visited cursor positions). :jumps
lists down all the performed jumps for the current window. Ctrl+O
& Ctrl+I
helps you to cycle through the jumps. But, what counts as a jump?
Any of the actions mentioned on the above list counts as a jump, and makes an entry into the jump list. You can clear the jump list using :clearjumps
.
The columns being jump, line, column and file/text. Given the above:
- Ctrl-I to jump to line 415 in the current buffer.
- Ctrl-O to jump to line 358 in the current buffer.
3
then Ctrl-O to jump to line 364 in current buffer.5
then Ctrl-I to jump to line 395 in themantle/cmd/plume/prerelease.go
.
I’ll keep on updating the posts as I learn more about vim/neovim. Till then, saraba da!
Reference for this post