tom*_*nek 5 unix vim vim-plugin
我想我的终端当前目录遵循我的VIM。
例:
在终端:
> pwd
=> /Users/rege
> vim
Run Code Online (Sandbox Code Playgroud)
然后在VIM中
:cd /Users/rege/project
<Ctrl-z>(for suspend)
Run Code Online (Sandbox Code Playgroud)
在终端
> pwd
=> /Users/rege/project
Run Code Online (Sandbox Code Playgroud)
我正在使用MacOS,zsh,tmux。
我需要这个,因为当我试图在VIM中使用标签时,标签是从我的终端目录而不是vim中签入项目的。
因此,当我更改VIM当前目录时,总是需要更改终端当前目录。
暂停 Vim 后,您会在 shell 中发出什么样的命令?Vim 还不够吗:!command
?
使用set autochdir
,当您从一个文件跳转到另一个文件时,Vim 的当前目录会跟随您。通过此设置,简单的将始终在当前文件的目录中:!ctags -R .
创建一个文件。tags
另一个有用的设置是set tags=./tags,tags;$HOME
告诉 Vim 在当前文件的目录中查找tags
文件,然后在“当前目录”中查找,直到到达您的~/
. 您可以修改端点以满足您的需要。tags
这允许您在编辑属于项目的任何文件时在项目的根目录中使用 a 。
所以,基本上,你可以在不离开 Vim 的情况下走很长的路。
如果您确实需要返回 shell 来发出命令,:shell
(或:sh
) 使用 Vim 的当前目录启动一个新 shell。完成后,您只需$ exit
返回 Vim:
$ pwd
/home/romainl
$ vim
:cd Projects
:sh
$ pwd
/home/romainl/Projects
$ exit
Run Code Online (Sandbox Code Playgroud)