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
-~----------~----~----~----~------~----~------~--~---

Reply via email to