機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

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

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Bash ctrl-sでフリーズ(固まる)する機能を無効化するには
bashは大なり小なり(<;>;<=;>=)が使用できない
bash ファイルが存在するかif判定する
bash echoの出力の色を赤色にする
bashからwindowsのユーザー名を出力する
Bashで!(エクスクラメーション)をエスケープするには
BashでISO8601のタイムスタンプをdateで出力


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu