LoginSignup
2
2

More than 5 years have passed since last update.

Percol | percol レシピ | インタラクティブに cd を使う

Posted at

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作成時の問題で、 実際に操作しているときは妙な動きはしてません。

pcd.gif

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2