はじめに
最近普段使いのエディタをVSCodeからNeovimに移行したので、ターミナル上で生活する時間が増えました。
lsやcdでディレクトリ間を移動することが多くなったわけですが、実はlsとcdにはRust製の代替ツールが存在します。自分も最近その存在を知ったのですが、もっと早く知っておけばよかった!と思えるほど便利なツールだったので、紹介したいと思います。
lsの代替:eza
lsの代替ツールとしてezaというものがあります。
lsと何が違うのか?同じディレクトリに対してlsとezaをそれぞれ実行した結果を見比べてみましょう。
上がls、下がezaです。ezaの方が若干文字色がカラフルになりますね。
オプションなしだとあまり違いがないので、普段使いレベルまでオプションをつけた時の比較をしてみましょう。
どうでしょうか。結構見栄えが変わりましたね。
- 文字色がカラフルになった
- ディレクトリ・ファイルのアイコンが表示されるようになった
- ファイルは拡張子ごとにアイコンが変化する
-
.,..などが非表示になった(自分はこれ要らないと思っているのでありがたい)
また、-Lオプションで任意の階層まで深掘りすることが可能です。
ezaはオプションを色々つけると長くなるので、自分は以下のようなエイリアスを.zshrcに仕込んでいます。
# アイコンあり・隠しファイル表示・一覧表示
alias ll='eza --icons -al'
# アイコンあり・隠しファイル表示・一覧表示・2階層掘る
alias ll2='eza --icons -al -T -L 2'
lsはもう使わないので、思い切ってllにezaを割り当てました。
cdの代替:zoxide
続いてcdの代替、zoxideの紹介です。
zoxideはzと一文字打つだけでcdと同じ動きをしてくれます。
zoxideの強力な機能は、一度移動したことのあるディレクトリを記憶しておいて、2回目以降に同じ場所移動する時に省略したパス名で移動できる点です。
ちょっと文章では伝わりづらいので、gifで示します。
1回目の移動ではz .config/nvim/lua/lspで移動していたところを、2回目の移動ではz lspで同じディレクトリに移動できています!
# 1回目
z .config/nvim/lua/lsp
# 2回目
z lsp
同名のディレクトリ名がある場合はspace+tabで候補を一覧から選択できるようになっています。詳しくは以下のGIFで説明されています。
余談
自分はoh my zsh!の補完機能もプラグインとして別途インストールしています。
この補完機能と組み合わせることで、3回目以降の移動ではさらにタイピング数を減らすことが可能です。
例えば先ほどのz .config/nvim/lua/lspの例だと、以下のようにz lとタイプするだけでz lspが補完候補として表示されます。
# 1回目
z .config/nvim/lua/lsp
# 2回目
z lsp
# 3回目(途中で補完される)
z l
他にも
catの代替であるbatだったり、grepの拡張版であるripgrepだったりと、UNIXコマンドの多くは代替ツールが多く存在します。有名なものは代替の方が高機能かつ高速であることが多いので、積極的に取り入れていきたいところです。




