2

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

我遇到了:cd %:p:h 有没有更简单的方法来做到这一点?

4

3 回答 3

1

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

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

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

但是这个特殊的用例是如此普遍,以至于实际上有一个选择:

:set autochdir

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

于 2013-10-17T11:45:19.980 回答
1

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

autocmd BufEnter * silent! lcd %:p:h

好好享受。

参考

于 2016-05-20T03:53:14.290 回答
0

从一本书:

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

用法:

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

于 2018-03-13T13:48:30.680 回答