Vimで作業ディレクトリ/現在のディレクトリを設定するにはどうすればよいですか?


109

したがって、:eコマンドを使用して新しいファイルを作成する場合は、パス全体を指定するのではなく、新しいファイル名だけを指定します。できますか?

回答:


144

すでに提案したように、autochdirを使用できます。これにより、開いたファイルのディレクトリに変更されます。他のオプションは

:cd mydirectory

これはディレクトリを変更します。これは絶対パスまたは相対パスにすることができるため、:cd ..1レベル上に移動します。または:cd %:h、autochdirを設定せずに、現在のファイルが存在するディレクトリに移動するwhichを使用することもできます。

:cd

ディレクトリをホームディレクトリに変更します(Windowsでは現在のディレクトリを印刷します)。

:cd -

ディレクトリは、以前にアクセスしたディレクトリに変更されます。


13
複数のウィンドウを使用している場合は、:lcdを使用して、現在のウィンドウのみのディレクトリを変更することもできます。
役に立たない

1
@役に立たない:おもしろい...そんなことはしたくないと思いますが、それは好みの問題だと思います。情報をありがとう。
falstro

3
%:hの意味を理解しようとしています。
マイケル

10
@Michael %は、パスを含む現在のファイル名に変換し、:修飾子を追加し、h先頭、つまり、ファイル名自体を除いた最後のパス区切り文字までのパスです。
falstro 2012

@falstro、:viコマンドを実行している同じvim内のすべてのウィンドウに:cdコマンドを適用する方法を知っていますか?例:split:spを使用する場合
mgouin '19年

15

また、netrwファイルエクスプローラーでファイルシステムを参照している場合は、cキーを押して現在のディレクトリを設定できます。


また、使用set autochdirするために'c' keyあなたが使用できるように、シェルでテイク効果を!command args 変更したディレクトリの下に。
pimgeek

9

に追加set autochdirしてみてください.vimrc。これを一度だけ変更したい場合は、:cd(または:cd!強制的に)を使用します。


1
:私は私の.vimrcにマッピングを追加する予防措置を取ってきたのでヘルプがこの切れ目いくつかのプラグイン(私はどれを知らない)と言うcnoremap cd. lcd %:p:hと、nnoremap ,cd :cd %:p:h<CR>:pwd<CR>代わりに
ErichBSchulz

'c' keyこれに伴うために、netrwファイルエクスプローラでも使用します。
pimgeek

3

vimの何が問題なのかわかりません。vimを現在のディレクトリとして起動したいのですが。

上記のautochdに関するヒントに従い、.vimrcでnoautcdに設定しました。

私はまだそれをしていませんが、今からこのようにvimを起動しようとしています:

vim —cmd 'cd `pwd`'

これにより、現在のディレクトリに固定されます。


2

netrw:押しに加えてc、現在のディレクトリを設定するためのキーを、あなたも置いてもよいです。

let g:netrw_keepdir= 0

あなたの.vimrc; これはnetrw、ブラウジングディレクトリを現在のディレクトリと同じに保つことを意味します。


これは、netrwフォルダーの変更ごとに:lcdと同等の動作をするようです。この設定が:cdと同等である(すべてのウィンドウのディレクトリを変更する)方法を知っていますか?ありがとう!
mgouin 2017年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.