LoginSignup
5
4

More than 5 years have passed since last update.

MacのVimでCtrl + sとCtrl + qのキーマップ割り当てが効かない問題

Last updated at Posted at 2016-06-25

.vimrcCtrl+q で保存済みバッファをすべて閉じるキーマップを書いたけど効かない。むむむ。

.vimrc
nnoremap <c-q> :qall<CR>

ちなみに環境は Mac + iTerm2 + tmux + zsh + vimです。
んーどこかターミナル上で、横取りされてるのかなぁと思ったらsttyが悪さしていた模様。

.zshrc に以下のように書いたらvim上で Ctrl + q が使えるようになった。(ついでに Ctrl +s も使えるようになる)

.zshrc
stty stop undef
stty start undef

sttyで Ctrl + s が画面出力のstop、 Ctrl + q が画面出力の再開に割り当てされてるみたいで、これが原因で効かなかったようです。

(参考) bashのキーバインド(キーボードショートカット) まとめ - readlineとbind、ついでにstty編


(2018/3/16追記)
コメント欄にて @Ress さんから教えてもらいましたが、zshのフローコントロールの問題だったようで、以下の設定でよかったようです。

.zshrc
setopt no_flow_control
5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4