当我使用Alt+F2
打开gvim时,它将默认工作目录作为我的主文件夹。
如何在运行gvim之后或同时更改工作文件夹?我可以在打开gvim时将该文件夹作为参数传递吗?
答案 0 :(得分:43)
您可以使用快捷方式。
最简单的方法是
:edit $MYVIMRC
附加一行
cd /home/user/my/work/dir
保存(可选择执行:w|source %
以立即重新加载)
使用
:pwd
:cd some/other/dir
查看/更改当前工作目录。
使用例如
:cd %:h
更改为包含活动窗口中加载的文件的目录。 如果您需要/想要经常这样做,请考虑设置 'autochdir'
:se autochdir
来自文档:
When on, Vim will change the current working directory whenever you open a file, switch buffers, delete a buffer or open/close a window. It will change to the directory containing the file which was opened or selected. This option is provided for backward compatibility with the Vim released with Sun ONE Studio 4 Enterprise Edition.
注意:如果启用此选项,某些插件可能无效。
答案 1 :(得分:12)
你可以将一个文件夹传递给你可以gvim
(当你有NERDTree时它将是一个文件树)cd
开始在你想要的目录中开始或使用:cd <path>
命令更改当前工作目录,运行Vim时可以传递给-c
标志:
$ [g]vim -c 'cd <path>'
您还可以使用:pwd
命令检查当前目录。
答案 2 :(得分:4)
您可以使用:cd
命令更改工作目录。您也可以在命令行选项中传递此选项,如下所示:
vim -c "cd wherever"
如果您希望工作目录始终是您当前正在编辑的文件,则可以使用set autochdir
选项。把它放在你的〜/ .vimrc或看:help autochdir
。
答案 3 :(得分:0)
我知道我迟到了,但我开始使用CDargs这是一个bash工具将某些目录标记为书签,然后使用cdb
并按Tab键列出所有已添加书签的目录。
有一个vim插件可以与此工具的设置文件进行交互:vim-cdargs
这个组合对我来说非常好,可以在项目之间切换
或者在打开gvim后快速转到某个书签文件夹,然后使用Ctrl-p插件快速找到我要编辑的文件。
额外提示:我甚至不想输入:Cdb所以我缩写为C扩展为:Cdb将其添加到我的vimrc:
cnoreabbrev c Cdb
在键入:c
后跟空格后,将展开为:Cdb
。
编辑:我现在使用vim-startify,它为vim提供了一个显示最近使用过的文件的起始页面。使用选项let g:startify_change_to_vcs_root = 1
,它会将工作目录更改为您打开的文件的最外层vcs根文件夹。这几乎总是我想要的。
此外,我创建了自己的插件&#39;一些键映射将切换到最近或最远的目录,在当前缓冲区的路径中,包含.git目录或文件。为了在当前git子模块或整个超级模块中搜索文件之间轻松切换。
此外,我使用fzf-vim而不是Ctrl-p切换到fzf,后者工作速度更快,配置更高。