すでにスワップファイルがある場合は、VIMで読み取り専用モードでファイルを開くにはどうすればよいですか?

すでにスワップファイルがある場合は、VIMで読み取り専用モードでファイルを開くにはどうすればよいですか?

コマンドを使用してファイルを開くときに、:e filenameそのファイルが別のvimインスタンスによってすでに開かれている場合は、次の場所でファイルを開くかどうかを尋ねられます。読み取り専用モードしかし、編集、再開、終了、または中止されました。

vimを試すと停止:silent! e filenameするようです。しかし、スワップファイルで何をすべきかを尋ねる質問がありますが、静かにするように言うことはできません。

ファイルを開くように指示するために使用できるコマンドはありますか?読み取り専用モード もしファイルを書き込みモードで開くことができず、ユーザーの対話は必要ありませんか? (ファイルをジャンプ/開くためにこれをマクロに統合したい)

ベストアンサー1

お持ちの場合精力>= 7(私の考えでは)autocmdイベントと一緒に使用できますSwapExists。そこでは、非常に単純なものから非常に複雑なものまで何でもできます。
以下は ~/.vimrc の簡単な例です。

autocmd SwapExists * let v:swapchoice = "o"

スワップファイルが存在すると、このイベントが発生します。上記のautocmdは読み取り専用モードでのみファイルを開きます。 autocmdから値を取得すると
v:swapchoiceいいえ何をしたいのか尋ねてください。使用できる値はここにリストされています。v: 交換の選択
非常に高度なautocmdについては、ここを参照してください:既存の.vimの編集
vimをインストールした後、スクリプトがサーバーにすでに存在する可能性があるためeditexisting.vim

おすすめ記事