gvim:更改默认工作目录

时间:2012-09-19 21:48:30

标签: vim

当我使用Alt+F2打开gvim时,它将默认工作目录作为我的主文件夹。

如何在运行gvim之后或同时更改工作文件夹?我可以在打开gvim时将该文件夹作为参数传递吗?

4 个答案:

答案 0 :(得分:43)

您可以使用快捷方式。

最简单的方法是

:edit $MYVIMRC

附加一行

cd /home/user/my/work/dir

保存(可选择执行:w|source %以立即重新加载)


内部vim

使用

: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,后者工作速度更快,配置更高。