2010-02-18 64 views

回答

101

正如已经建议,你可以使用autochdir,这将改变你打开的文件的目录,另一种选择是

:cd mydirectory 

这将改变目录。这可以是绝对路径或相对路径,所以:cd ..将上移一个级别。或者您可以使用:cd %:h,它也将更改为当前文件所在的目录,但不设置autochdir。

:cd 

将目录切换到您的主目录(或在Windows上打印当前目录)。

:cd - 

将更改目录到您访问的上一个目录。

+7

如果您使用多个窗口,您甚至可以使用:lcd仅更改当前窗口的目录。 – Useless

+1

@无用:有趣......我不认为我会想要那样,但我想这是一个品味问题。谢谢(你的)信息。 – falstro

+3

我试图找出%:h的含义是什么,有什么帮助? – Michael

7

尝试将set autochdir添加到您的.vimrc。如果您只想更改一次,请使用:cd(或:cd!强制它)。

+1

帮助说,这打破了一些插件(我不知道哪些)我已经采取了增加的预防措施,以便在我的.vimrc中映射:'cnoremap cd。 lcd%:p:h'和'nnoremap,cd:cd%:p:h :pwd '而不是 – ErichBSchulz

+0

也在netrw文件资源管理器中使用''''c'key''伴随此。 – pimgeek

12

另外,如果您使用netrw文件浏览器浏览文件系统,则可以通过按c键设置当前目录。

+0

也使用'''set autochdir'''来使''''c'key'在shell中生效,这样你就可以使用'''command args'''在改变目录下。 – pimgeek

0

由于除了按Ç键设置当前目录netrw:,你也可以把:

let g:netrw_keepdir= 0 

.vimrc;这意味着netrw将保持浏览目录与当前目录相同。

+0

这似乎有一个等效的行为:每个netrw文件夹更改为lcd。你有一个想法如何这个设置可以等效为:cd代替(改变所有窗口的目录)?谢谢! – mgouin

1

我不知道vim有什么问题。我想要启动vim作为当前目录。

我已经按照上面关于autochd的提示,并将其设置为我的.vimrc中的noautcd。

我没有这么做过,但我即将从现在开始启动vim这样的:

vim —cmd 'cd `pwd`' 

这将使它坚持到当前目录!

1

添加此我.vimrc自动改变Vim的工作目录到当前文件:

autocmd BufEnter * silent! :lcd%:p:h 
+0

'set autochdir'也可以:-) –

相关问题