
時には、誤ってvimにディレクトリ内のファイルの代わりにディレクトリを編集するように指示することがあります。
vim directory-name # what I typed
vim directory-name/blah.txt # what I meant to type
vimはエラーメッセージをすぐに表示せず、代わりに「ファイルエディタ」モードでディレクトリを開きます。このモードは個人的に気に入らない。
vimがディレクトリを開くことを拒否する方法は?
可能な方法の1つは、.vimrcのいくつかの設定を変更することです。しかし、その設定が何であるかはわかりません。
もう1つの可能性は、vimの周りにラッパーシェルエイリアスを作成してtest -d "$1"
ファイルを開こうとしていることを確認することです。しかし、どのコマンドライン引数がフラグなのか、どれがファイル名かを区別できるように、このエイリアスを強力にする方法はわかりません。
答え1
引数がディレクトリの場合は、vimrcに次の行を入力してvimを終了できます。
for f in argv()
if isdirectory(f)
echomsg "vimrc: Cowardly refusing to edit directory " . f
quit
endif
endfor
または単にログアウトしたい場合みんなパラメータはディレクトリです。次のように試すことができます。
let ndirs = 0
for f in argv()
if isdirectory(f)
let ndirs += 1
endif
endfor
if ndirs > 0 && ndirs == argc()
echomsg "vimrc: Cowardly refusing to edit directories"
quit
endif
答え2
これはプラグインの出力のように見えますnetrw
。
~/.vimrc
この機能はファイルを入力して無効にできます。
let loaded_netrwPlugin = 1
ディレクトリを編集しようとすると、エラーメッセージが表示されますis a directory
。