VIM - shell工作目录集成

时间:2013-10-17 11:26:38

标签: shell vim

我使用集成到VIM的cscope来导航大型代码库。我可以使用:E命令来导航目录结构。但是,如何在我导航到的特定目录上打开shell?

我遇到了:cd %:p:h 有更简单的方法吗?

3 个答案:

答案 0 :(得分:1)

使用Vim,总有多种方法可以满足您的需求。

例如,您可以为您找到的命令创建一个快捷方式(称为映射)(和/或将其与打开shell结合使用):

:nnoremap <Leader>. :cd %:p:h<CR>

但是这个特殊用例非常普遍,实际上有一个选项:

:set autochdir

作为替代方案,有些人总是从当前项目的根目录中打开Vim;这也确保了短路(和一致!)路径。甚至有一些插件可以自动:cd到项目目录。

答案 1 :(得分:1)

set autochdir可能影响某些插件,因此您可以使用它来自动更改目录。

autocmd BufEnter * silent! lcd %:p:h

享受它。

参考

答案 2 :(得分:0)

来自一本书:

cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' : '%%'

用法:

在命令模式下,键入%%,它将扩展到当前路径。这适用于任何采用路径的命令