質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

1回答

2362閲覧

E325で終了・中止したのに現在開いているファイルが二重で開く

norio13

総合スコア53

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2016/04/04 09:20

編集2016/04/04 09:21

前提条件
~/.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を押して終了・中止したのに今開いてたファイルが二重に開いてしまうのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実際にどのような処理が行われるかを説明すると、

  1. 対象のファイルが存在するかチェックされる。存在しない場合は E447 が発生して何も起きない。
  2. ファイルが存在する場合、tab split で新しいタブが開かれる。
  3. gf でカーソル下のファイルを開く。

といった具合になります。3 でファイルが開かれた後、今回のように実際にファイルを開こうとした結果問題が起きて開けなかった場合は、2 の段階で止まってしまうので現在のバッファが新しいタブで開かれた状態になります。

:help CTRL-W_gf を見た限りだと仕様とも取れそうですが、動作として不自然とも言えそうです。問題があると感じたならば、改善の提案をしてみると良いかもしれません。
以下のページから日本語で提案が行えます(GitHub のアカウントが必要です)。

https://github.com/vim-jp/issues/issues/new

投稿2016/04/04 09:51

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

norio13

2016/04/04 10:30

そのような流れで処理が行われていたのですね。仕様のような気がしました。 私にはまだ仕様とバグの判断が出来る程にVimを使いこなせていません。 良い提案ができませんが、勉強も兼ねてvim-jp/issuesにてissueを出してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問