開いたウィンドウが正常に閉じない
vimの:term
などで新しいウィンドウを開いた後、閉じようとすると正常にウィンドウが消えない問題が発生しています。
以下のgifのような状態です。(画像が小さかったらごめんなさい)
以下のことがわかっています。
.py
ファイルを開いた時、:split
などで分割したウィンドウで開いたターミナルが正常に閉じない.rb
ファイルなどの他の拡張子では発生しません。- 閉じられないウィンドウは
ctrl c
で消すことができます。 - ターミナル以外も分割をするプラグイン全般も同じく閉じられません。
- 単に
split
したウィンドウ(:term
をしていない)は正常に閉じられます。- vimの範囲を超えた動作(terminalなど)をしたウィンドウが閉じられないと考えています。
- dotfilesでシェルの設定を同期している他マシンでは発生しません。
いろいろ調べてみましたが完全にお手上げ状態なので詳しい方のお力をお借りしたいです。
試してみたこと
- vimの設定を退避した
- プラグインや設定の問題かと思いましたが素のvimでも同様の問題が発生しました。
- vimを入れ直した
# pacman -S vim
で入れたvimも$ yay -S gvim
で入れたvimでも同様に発生します。- 他マシンとvimのバージョンを合わせましたが改善しませんでした。
- termで起動するシェルの変更
- fishがbashrcの末尾の
exec fish
で呼び出しているので:set zsh
で呼び出すシェルをbashを経由しないzshに変えましたが同じく閉じられませんでした。
- fishがbashrcの末尾の
バージョン
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb 09 2021 23:51:55)
適用済パッチ: 1-2489
Compiled by Arch Linux
Huge 版 without GUI.
os: manjaro linux x86_64
pc: thinkpad x270
追記
色々ためした結果わかってきたことを追記します
.py
だけでなく*.pyw
などでも問題が発生する
filetype.vim
でsetf python
となっているものはすべてこの問題が発生するようです。
:set filetype=python
とすると.rb
などでも問題が発生する
filetype.vim
内でのpythonに関する部分の抜粋を添付します。
filetype.vim
au BufNewFile,BufRead *.cpy \ if getline(1) =~ '^##' | \ setf python | \ else | \ setf cobol | \ endif ~~~ au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/18 11:44 編集
2021/03/19 04:27
2021/03/19 10:15