vim-jp/issues — Issue #116: [仕様 or バグ?] 複数のタブページを開いていてカレントタブ以外のタブに変更されたバッファが存在する場合に :qa するとカレントタブページのバッファが変更されたバッファに切り替わる
Author: h-east
Created: 2011-12-28 11:53:58+00:00
State: open

kaneshinthさんのツイート
http://twitter.com/#!/kaneshinth/status/151913059672276992

- 対象OS:
ALL

- 検証Ver:
Vim　7.3.377 (on fedora linux), GVim 7.3.382 kaoriya(on Win7 64bit)

- 手順:

`$ vim -N -u NONE -i NONE --noplugin a.txt`

```vim
:tabedit b.txt " タブオープン(ファイル名 b.txt )
:tabedit c.txt " タブオープン(ファイル名 c.txt )
iちょんまげ ” c.txt を編集(ちょんまげ と入力)
```
ここまでの操作でこうなる。
![](https://lh3.googleusercontent.com/-hhptyakRps0/TvrxIbi3HtI/AAAAAAAAAqg/n7g4DeOhH8M/w556-h99-k/vim_post_edit.png)

```vim
:tabrew " カレントタブを1つ目のタブにする
:qa " Vim終了(変更点のあるバッファがなければ)
```
c.txt は変更しているので以下のようにエラーが出る。(想定内)
![](https://lh3.googleusercontent.com/-D7OL5qnzxK0/TvrvQl1uLgI/AAAAAAAAApY/yRWMwEmjGRU/w757-h115-k/vim_qa.png)
そして何かキーを押すと1つ目のタブのバッファが c.txt に切り替わっている！(仕様？バグ？)
（内部で `:bmodified` が実行されているような動き）
![](https://lh6.googleusercontent.com/-pEDX2wPHz5c/TvrxIlvZFrI/AAAAAAAAAqk/WzYw2OWAfLw/w604-h99-k/vim_post_qa.png)

- 備考:

タブを使わないパターンでも同じような動作になります

`$ vim -N -u NONE -i NONE --noplugin a.txt b.txt c.txt`

```vim
:set hidden
:last
iおしくらMJ
:rew
:qa
```
（エラーメッセージ表示後、1つ目のバッファが c.txt に切り替わる）

※同じ事をjvim3で試したら切り替わらなかったので、どっかで仕様変更になったかもしくはバグなのかどっちでしょうね？