目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

コマンドラインはショートカットキーで。

独りアドベントカレンダー。ターミナルに関わるTips的な何かを書くよ。たぶん続かないけど、やれるだけやってみるよ。

コマンドラインでキーを叩く時矢印キーを使っていませんか? 矢印キーを使うと手がホームポジションから離れるので効率が悪くなってしまいます。
そのために、bashzshにはショートカットキーがあります。デフォルトではemacsキーバインドなので、emacsの操作に慣れている人は簡単に使いこなせるでしょう。ちなみに私はvim使いなので、少し慣れないかつ覚えられないので、あえてこのエントリを書いています。

矢印キーの代替

ショートカット  概要
Ctrl + f → カーソルを右に移動
Ctrl + b ← カーソルを左に移動
Ctrl + p ↑ コマンド履歴をさかのぼる
Ctrl + n ↓ コマンド履歴を進める

最低限これだけ覚えれば、矢印キーを使わずにすむのでだいぶ効率的になります。
forward, back, previous, nextと英単語で覚えておくと覚えやすいです。

もう一歩進めて

ショートカット 概要
Ctrl + [ ESCキーと同じ
Ctrl + h BackSpaceキーと同じ
ESC f カーソルを右に1単語移動
ESC b カーソルを左に1単語移動
ESC d カーソルの右の1単語削除
ESC Ctrl + h カーソルの左の1単語削除

Ctrl + [ とCtrl + hを使えるようになれば、ほぼホームポジションから手を動かさないでもタイピングができるようになります。
単語単位の移動と削除が使いこなせればだいぶ効率よくタイピングできるでしょう。

タイプ数を減らすためのショートカット

ショートカット 概要
Ctrl + a 行頭に移動
Ctrl + e 行末に移動
Ctrl + k カーソル位置から行末まで削除

コマンドラインが長くなってくると単語単位移動でも面倒になってくるので、行頭行末に一発で移動できるショートカットを覚えておくとだいぶ便利に使えます。
一番最初のa、一番最後のendで覚えると良いでしょう。

覚えておくと便利なショートカット

ショートカット 概要
Ctrl + l バッファをクリアする。clearと同じ効果
Ctrl + j Enterと同じ
Ctrl + m Enterと同じ
Ctrl + v 直後に打った特殊文字を文字として入力

個人的にはCtrl + lが便利だと思います。

コマンドラインはエディタで編集したい

fcコマンドを打つとEDITOR変数で指定されているエディタでコマンドラインを編集することができます。ある程度長いワンライナーを書く時には重宝します。mysql clientのeditコマンドも同様に使えるので覚えておくと良いでしょう。




とまあ、こんな感じです。この辺を覚えておくとだいぶ効率よくタイピングができるのではないでしょうか。
明日のネタは。。。今から何か考えます。