C-l で ls も実行
なんか真剣に調べたら出てきそうな内容だけど, 検索が面倒になったから作った.
(はてな内検索してて作れそうな気がしてきたから.)
まず, .zshrc上に, C-lってどう書いたらいいか分かんないからそれを調べた.
端末エミュレータ上で, bindkeyと打って, 現在のキーバインドを確認.
その中から, お目当ての, C-lっぽいのを探す.
"^L" clear-screen
うん, 名前からしてこれっぽい.
clear-screenって端末上で打っても, そんなコマンド無えよっって怒られたけど,
clearってコマンドで望みの動作したから, それ使う.
これで準備は, OK.
とりあえず, こんな関数作って, キーに割り当てた.
function clear-screen-and-ls() { clear ls zle reset-prompt } zle -N clear-screen-and-ls bindkey '^L' clear-screen-and-ls # C-l で clear + ls
zle reset-promptやんないとコマンド実行後にプロンプト表示されない(コマンドは実行できるけどね).
zle -N clear-screen-and-ls やっとかいなと bindkey に割当てても何か怒られて使えない.
色々見てたら, こう書いてあったから, それをそのまま流用.
zle の意味とか全然分かってないけど, それはまた気が向いたときに調べよう.
追記
あれ, 端末エミュレータを最大化しといたら, 上手く動かない.
何でだろう?
reset-prompt切ったら問題ないけど, 見栄え悪いなあ.
さらに追記
こう直したらちゃんと表示できたけど, 無駄に1行空いて汚い.
function clear-screen-and-ls() { clear ls zle accept-line }
さらにさらに追記
echo挟んだら上手くいった.
function clear-screen-and-ls() { clear ls echo zle reset-prompt }