you could do a mapping such as the following: :cmap %/ ^R%^FF/lC
the control characters ^R and ^F can be entered as digraphs (see :help digraphs, :help CTRL-k, and :digraphs) using these keystrokes: ^R - <C-k>D2 ^F - <C-k>AK the mapping will cause the following to occur when you enter %/ in the Ex command line: 1) ^R% causes the current filename to be inserted at the current cursor location 2) ^F switches to cmdwin mode (see :help cmdwin) which lets us use normal mode commands to edit the command line 3) F/ finds the first slash before the cursor (this mapping assumes that the full path of the file you are editing contains a slash) 4) lC (that's a lowercase "L") moves the cursor to the right, deletes the text after, and leaves you in insert mode. enjoy! :) On Fri, Nov 14, 2008 at 2:54 PM, madiyaan <[EMAIL PROTECTED]> wrote: > > Hello: > > Is there a way to open a file relative to the current file's > directory? > > I do not want to change the directory to the current file's directory > because I often invoke :!make from the source directory's root. (But > maybe there is a way to change to the current directory, and go back > to the root directory before invoking main... that would be equally > useful to me). > > For example, I am in project/ and I invoke: > > vim lib/tools/tool1.cpp > > I don't want to change my directory to project/lib/tools/ because when > I invoke :!make, it will use the Makefile in project/lib/tools/ and > not the one that I intend to use, which lies in project/. I am wanting > to know whether I can easily open up project/lib/tools/tool2.cpp > without typing in the entire path. > > Regards, > > > -- Christopher Suter --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_use" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---
