On Nov 14, 5:16 pm, "Chris Suter" <[EMAIL PROTECTED]> wrote:
> you could do a mapping such as the following:
>
> :cmap %/ ^R%^FF/lC
Thank you. This would be something very useful. However, it doesn't
work in my current vim. When I put in just this:
> :cmap %/ ^R%
It does place the entire full path of the current file in there. But
if I put in the full command that you wrote here, it instead shows me
a history of commands (basically the same window when I do q:) instead
of leaving me with the path of the current file. Any ideas what could
be going wrong? I entered the digraphs correctly as it shows me those
in a different color when I wrote them to my .vimrc file.
Also, I tried entering F/lC while in normal mode in front of a path in
a regular buffer, and it worked. It seems to me that ^F is not doing
what it should be doing (i.e. it is not putting me into normal mode on
the Ex line). Any help would be appreciated.
Thanks,
>
> 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
-~----------~----~----~----~------~----~------~--~---