On Wednesday, October 31, 2012 7:52:18 AM UTC-7, Ben Fritz wrote: > On Wednesday, October 31, 2012 2:32:49 AM UTC-5, Asis Hallab wrote: > > > 2012/10/31 happyFace <[email protected]> > > > > > > > I have been using vim for sometime now but I am completely new to writing > > > > vim plugins. I would like to write a plugin that record all the file > > > > locations we jump to (with tags or cscope symbols) and save them in a > > > file. > > > > So that we can later review the "code browsing session" and be able to > > > > conveniently revisit the same tags we browsed. > > > > > > > > > Vim already has that feature. It's called the jumplist. > > > Couldn't be better explained than by Drew Neil: > > > http://vimcasts.org/episodes/using-the-changelist-and-jumplist/ > > > > > > > > > > > > There is also a switch to make Vim save its history. > > > So after restarting it, you still have your old jumplist. > > > You can set it in your vimrc, unfortunately I can't remember it right now.. > > > > > > > Vim saves the jumplist in the .viminfo file, if the "'" included by default in > > the 'viminfo' option is still present. > > > > However, the .viminfo file may not be as persistent a storage location as you > > might like. Additionally, according to the help only 100 jumps are stored in > the > > list, and each window has its own jump list. The :jumps command will list out > > the current jump list (presumably for the current window). Potentially you > could > > use :redir to capture and parse the output of this command and store it to a > > file of your choosing. I don't see any functions to get the jumplist in a > > script, but perhaps I just missed them. > > > > Actually, rather than parsing the output of :jumps, it is probably better to > set > > 'viminfo' to the desired setting, use the :wviminfo command with a file > > argument, then restore 'viminfo'. > > > > I don't know of a better way to accomplish your task than using the jump list, > > even with the caveats I mention above. Hopefully 100 jumps will be sufficient > > for you.
Thanks guys! :jumps is great. I struggled a bit with getting ctrl-o, ctrl-i to work. I would type those but nothing happens. I finally found a workaround without quite understanding the cause of the problem. I use gnome terminal where I set "telnet -E dev-server-name" as a command to be automatically executed when a terminal is launched. I set that in the terminal profile. I use -E to force telnet not to recognize any escape character, otherwise, ctrl-] will close the telnet session instead of jumping to the tag definition in a vim session. Somehow, this was causing ctrl-o, ctrl-i not to function at all. If I set "telnet dev-server-name" instead of "telnet -E dev-server-name", then ctrl-o, ctrl-i work fine. What makes this even more difficult to understand is that if I ssh to the development server and then telnet -E to the same server, ctrl-o, ctrl-i works fine in a vim session! Only if I use telnet -E ** and ** I set it in the gnome terminal profile to be launched when a terminal is launched do I hit the problem of ctrl-o, ctrl-i not working in a vim session. Anyway, I have a workaround. Just wanted to share that in case someone hits the same problem. ES -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
