web-dev-qa-db-ja.com

Windowsでgvimを使用して現在のディレクトリで新しいファイルを開く方法は?

たとえばにあるファイルで作業している場合~\myprojects\testproject\hello.txt次に、同じディレクトリにある新しいファイルを開きたい場合。 todo.txt~\myprojects\testproject\todo.txtにあります)、Windowsのgvimでこれを効率的に行うにはどうすればよいですか?

今日は、パスにタブ補完を使用して、このコマンドを入力する必要があります。

:e ~\myprojects\testproject\todo.txt

短いコマンドはありますか?例:

:e .\todo.txt

windowsのgvimで?

.\todo.txtを使用すると、そのファイルはC:\Windows\system32に配置されます。これは、私のホームディレクトリでもありません。代わりに、ホームディレクトリをデフォルトとして指定する設定はありますか?または他のdiectory?

3
Jonas

現在のディレクトリがファイルの場所である場合、以下は機能するはずです。

:e todo.txt

2番目の質問については、良い答えがわかりません。もちろんできます

:cd ~

起動するたびに、またはvimrcを編集してそれを行うことができます。これはハックであり、良い解決策ではありません。

毎回ファイルにcdしたい場合は、「autochdir」もあります。私はここでそれを見つけました: http://vim.wikia.com/wiki/Set_working_directory_to_the_current_file

あなたのvimrcであなたはこの行に入れるでしょう:

set autochdir

Edit2:2番目の質問への回答を追加

6
ReyCharles

私のvimrcには次のものがあります:

map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>

これにより、コマンドラインが開き、「e」コマンドが入力され、現在アクティブなバッファ内のファイルへのパスがファイル引数に事前入力されます。キーはデフォルトでバックスラッシュキーにマップされます。

3
tonyk

完全を期すために、現時点でそのディレクトリ内のファイルを編集している場合は、vim.rcのset autochdirで十分です。

ただし、vimファイルエクスプローラー(netrw)を使用している場合

:e .
%filename

新しいファイルを作成する前に、%を付ける必要があります。

詳細については、:help netrw-intro-browseをご覧ください。

0
Anne van Rossum