読者です 読者をやめる 読者になる 読者になる

文字列を挿入するキーバインドを設定する

zsh

コマンドをキーに割り当てるときに, いちいち関数を書く必要ないんじゃないかと
思って調べてみると, やっぱりそうだった. 'bindkey -s'を使うと指定したキーバインド
対して所定の文字を挿入してくれるようです.

設定例

## 履歴に残らないよう先頭にスペースを挿入
# C-x w w: プロジェクトページをブラウザで開く
bindkey -s "^Xww" " hub browse^M"

# C-x w i: issuesページをブラウザで開く
bindkey -s "^Xwi" " hub browse -- issues^M"

# C-x w p: Pull Requestページをブラウザで開く
bindkey -s "^Xwp" " hub browse -- pulls^M"

注意: ^Mの部分は, Vim(その他多数)だと C-v C-m, Emacsの場合は C-q C-mと入力してください.
(実行まで一気にやってほしいのでこのようにしています)

おわりに

ちゃんとやるなら, BUFFERを消して等をする必要があり, 関数を書くのが
よいかと思いますが, いちいち関数を書くのが面倒臭いので, この設定で
十分なのではないかと思いました.