こんにちは、いなむーです。

最近少しづつzshに慣れてきました。
zshに慣れるとbashが少し大変に感じます。
viとvimくらいの差があるように思います。

少しづつ便利にしてきているのでメモとして残しておきます。

cdの操作を楽にする

bashではcd -の他にも、popdやpushdがあると思いますが、これはbashのコマンドで、zshでそのまま使おうとしても使えません。

そこで下記設定を.zshrcに追加します。

[code]
setopt auto_cd
setopt auto_pushd
[/code]
この辺を追加しておくと便利でした。
auto_cdはcdコマンドなしで、ディレクトリ名のみで移動できます。
auto_pushdは下記のようにcd -の後にタブ補完で下記のようにサジェストされるようになります。
[code]
$ cd –
1 — ~/Github/Private/atcoder
2 — ~/Github/Private
3 — ~/Github
4 — ~/Github/Works
5 — /tmp
6 — ~
[/code]

これは最近知ったのですが、大変便利です。

historyから楽にコマンドを実行する

Ctrl+rで過去に実行したコマンドの検索ができますが、どんな流れで実施したのか?とか他のオプションを複数試した場合に、履歴が一覧で見えないのは困りものです。
この場合historyから呼び出すのが一般的だと思います。
しかし、historyも検索はできますが、実行する際にIDを指定するのだと、オプションをサッと変えて試したい場合などには不向きになってしまいます。※置換するという方法もありますが。。
そこで、historyを引っ張って、楽に実行できるように設定してみました。

pecoがインストールされている前提です。

[code]
## history
function peco-history-selection() {
BUFFER=`history | tair -r | awk ‘{$1="",print $0} | peco`
CURSOR=$#BUFFER
zle reset-prompt
}

zle -N peco-history-selection
bindkey ‘^R’ peco-history-selectio
[/code]

上記設定したら、「zsh -l」で設定を再読み込みします。

history

こんな感じで呼び出せますし、選択して、オプションだけ変更なんてことも可能です。
あのコマンドのオプションなんだっけ?というような時にも、サッと過去に実行したコマンド履歴を確認の標準のCtrl+rよりも確認しやすいので、結構便利です。
※zshというよりはpecoの機能ですが^^;

もっともっと色々便利な機能がたくさんあると思うので、勉強して、どんどん実践していこうと思います。

以上。

カテゴリー: DailyTech