シェルスクリプトでファイルのプレビューをしながら ディレクトリを移動したりファイルを開いたり編集したり 出来るものをちょっと作ってみました。
shell-explorer
se
というコマンドでディレクトリにあるファイル、ディレクトリ一覧を表示し、
選択したファイルをビューワーで表示したりエディタで編集したり削除したり出来ます。
またディレクトリを選択すれば移動も出来ます。
ファイルを選択して最後に標準出力として出力することも出来ます。
また、ファイルの中身を常時プレビューしながら選択することも出来るようになっています。
この辺のファイルを選んだりする画面のところは sentakuを使っています。
もともとsentakuの中に例として ex_explorer.sh というディレクトリ移動とかが出来る簡易エクスプローラーは作ってあったんですが、 sentakuのIssueでプレビュー付きとかって簡単に作れないか? というのが来て、やってみたら結構簡単に出来て意外と見た目が良さげなのが出来たので、 ちょっと手直しして別レポジトリに作ってみたものです。
インストール
例によってMacではHomebrewで
$ brew install rcmdnk/rcmdnkpac/shell-explorer
それ以外の場合では
$ curl -fsSL https://raw.github.com/rcmdnk/shell-explorer/install/install.sh| sh
でインストールできます。これだと/usrの下(/usr/bn/se)に入るのでsu
権限が必要ですが、
それ以外の場所にインストールしたい場合は
$ curl -fsSL https://raw.github.com/rcmdnk/shell-explorer/install/install.sh| prefix=~/usr/local/ sh
の様にprefix
を指定するとその下(のbinディレクトリ)にse
コマンドが入ります。
使い方
エクスプローラーの起動は
$ se
とすれば現在のディレクトリのファイル、ディレクトリ一覧から始まります。
$ se $HOME/my_dir/
の様にディレクトリを引数に与えればそのディレクトリからスタート。
また、パイプでファイル一覧を渡すとそのファイル一覧から始まります。
$ echo file1 file2 file3|se
デフォルトではプレビューはオフになってますが、
$ se -r
とすれば右側に
$ se -u
とすれば下側にファイルの中身のプレビューが出ます。
起動後は sentakuの動作によって ファイルを選択したりします。 (k/jまたはCtrl-p/Ctrl-nで上下移動など。)
shell-explorer としては、Enterを押した際、 現在のカーソル行がディレクトリであればそのディレクトリに移動、 ファイルであればビューワーで表示します。
l、eを押した時はそれぞれ ビューワー、エディタで開きます。 複数の行が選択されてる場合はそれら全て開きます。
sはls -l
の結果を表示します。
dで選択ファイル/ディレクトリを削除します。
cはカーソル行がディレクトリの場合にのみそのディレクトリに移動します。
pを押すとshell-explorerは終了して 選択されてる全てのファイル/ディレクトリのフルパスを標準出力に表示します。
常に右側にプレビューを表示したい場合には、.bashrcなどで、
export SENTAKU_CONTENT_SHOW=1
としておくと-r
を付けなくても常にプレビューするようになります。
その他、選択画面の操作やオプションなどは sentaku、shell-explorer のREADMEで。