Percol | percol レシピ | インタラクティブに cd を使う
概要
インタラクティブに cd を使う
pcd (percol cd)
- 利用している bash の環境の ~/.bashrc に下記を追加する
alias pcd='cd `ls -1 | percol`'
- エイリアスを有効化します
. ~/.bashrc
- 検証用にRubyでディレクトリを生成
dirname_bases = %w{ hoge hige hage }
prefixes = [*0..9]
sufixes = [*0..9]
30.times do
dir = "#{prefixes.sample}_#{dirname_bases.sample}_#{sufixes.sample}"
next if Dir.exist?(dir)
Dir.mkdir(dir)
end
- 生成したディレクトリの確認
$ tree
┗ test
┣ 0_hage_1
┣ 0_hige_3
┣ 0_hige_4
┣ 1_hage_4
┣ 1_hage_6
┣ 1_hoge_2
┣ 2_hage_4
┣ 2_hoge_8
┣ 3_hage_2
┣ 3_hage_8
┣ 3_hige_4
┣ 3_hoge_5
┣ 4_hage_0
┣ 4_hige_9
┣ 4_hoge_9
┣ 5_hage_2
┣ 5_hoge_4
┣ 6_hage_4
┣ 6_hage_8
┣ 6_hige_5
┣ 6_hige_6
┣ 6_hoge_2
┣ 6_hoge_7
┣ 7_hage_0
┣ 8_hage_1
┣ 8_hage_2
┣ 8_hage_5
┣ 8_hige_1
┗ 9_hige_5
- pcd を使って 6_hige_5 ディレクトリへ移動してみます
$ pcd
QUERY> (1/29) [1/1]
0_hage_1/
0_hige_3/
0_hige_4/
1_hage_4/
1_hage_6/
1_hoge_2/
2_hage_4/
2_hoge_8/
3_hage_2/
3_hage_8/
3_hige_4/
3_hoge_5/
4_hage_0/
4_hige_9/
4_hoge_9/
5_hage_2/
5_hoge_4/
6_hage_4/
6_hage_8/
6_hige_5/
6_hige_6/
6_hoge_2/
6_hoge_7/
7_hage_0/
8_hage_1/
8_hage_2/
8_hage_5/
8_hige_1/
9_hige_5/
QUERY> hige_5 (1/1)[1/1]
6_hige_5/
$ ruby -e "p Dir.pwd.split('/').last"
"6_hige_5"
上記操作のアニメーションGIF
- pcd コマンドを実行した後にカーソルが妙な動きをしてますが、アニメーションGIF作成時の問題で、 実際に操作しているときは妙な動きはしてません。