我使用集成到VIM的cscope来导航大型代码库。我可以使用:E命令来导航目录结构。但是,如何在我导航到的特定目录上打开shell?
我遇到了:cd %:p:h
有更简单的方法吗?
答案 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').'/' : '%%'
用法:
在命令模式下,键入%%,它将扩展到当前路径。这适用于任何采用路径的命令