Bash Vim上でctrl-sで保存(:w)できるようにする方法

    >


普段はwindows 10でWSL bashをconemuで動かしていますが、conemuのバグなのかWSLの仕様なのかわかりませんがctrl+Sでフリーズ…して、これを解除するためのctrl+Qが機能しないんですよね。
なのでそうなってしまうと、もうそのコンソールタブ使えないので、閉じるか放置するしかない。僕は、強制終了するコマンドやってしまうと他のbashウィンドウも消えるので、OS再起動まで最小化して放置っていう方法を取っていますが。

で、vim上でctrl+Sを癖で使ってしまった際には、もうやばいじゃないですか。セーブしてない。内容見れない。もう、終わりですね。
なので今回はその対策。



まずbashでctrl+Sの機能を無効化

cat >> ~/.bashrc
bind -r '\C-s'
stty -ixon

. ~/.bashrc

vimrcでctrl+Sをマッピング

cat >> ~/.vimrc
:nmap <c-s> :w<CR>
:imap <c-s> <Esc>:w<CR>a

参考:
In vim how to map “save” to ctrl-s – Stack Overflow

WSL WSL bash on ubuntu on windows インストール手順
WSL(Windows Subsystem for Linux)を初期から使っている僕がLinuxやプログラミングの初心者向けにWSLのメリットを解説してみる


お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


Close Menu