vimがディレクトリを編集するのをどのようにブロックしますか?

vimがディレクトリを編集するのをどのようにブロックしますか?

時には、誤って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

おすすめ記事