質問: **前提条件** ~/.vim/の中にはvimrcのみ置いてあります。 vimrcは内容のない空のファイルです。 **症状** ノーマルモードでCTRL-W gfでカーソル下のファイル名を開くとき、そのファイルが既に別のターミナル上のVimで開かれていた場合、E325で注意されます。 ``` 読込専用で開く([O]), とにかく編集する((E)), 復活させる((R)), 終了する((Q)), 中止する((A)): ``` escを2回押す,o,e,rのいずれかを押すとカーソル下のファイル名が新しいタブに開かれます。 しかし、q,aを押すとCTRL-W gfを押した時のファイル(今操作してるファイル)が新しいタブに開かれます。 **質問** 何故qかaを押して終了・中止したのに今開いてたファイルが二重に開いてしまうのでしょうか?
回答: 実際にどのような処理が行われるかを説明すると、 1. 対象のファイルが存在するかチェックされる。存在しない場合は `E447` が発生して何も起きない。 2. ファイルが存在する場合、`tab split` で新しいタブが開かれる。 3. `gf` でカーソル下のファイルを開く。 といった具合になります。3 でファイルが開かれた後、今回のように実際にファイルを開こうとした結果問題が起きて開けなかった場合は、2 の段階で止まってしまうので現在のバッファが新しいタブで開かれた状態になります。 `:help CTRL-W_gf` を見た限りだと仕様とも取れそうですが、動作として不自然とも言えそうです。問題があると感じたならば、改善の提案をしてみると良いかもしれません。 以下のページから日本語で提案が行えます(GitHub のアカウントが必要です)。