ラベル bash の投稿を表示しています。 すべての投稿を表示
ラベル bash の投稿を表示しています。 すべての投稿を表示

2015年8月5日水曜日

command-line fuzzy finder (fzf) による補完

command-line fuzzy finder (fzf) による補完


今回は fzf による補完を紹介したいと思います。前回紹介した qfc よりも強力です。対応している shell は bash, zsh, fish です。ちなみに私は bash を使ってます。


fzf のインストール


公式サイトにあるままです。

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

.fzf に git clone して install スクリプトを実効します。このスクリプトは実効すると .bashrc に1行追加するので install を実効する前に .bashrc のバックアップをしておいた方が良いと思います。


キーバインド設定


デフォルトではプレフィックスが Ctrl-t になっていてこれでは Tmux と重複するので Ctrl-s に変更しました。

.bashrc. などに sty stop undef と stty start undef を記述して .inputrc ファイルを作成して "\C-s": '' と記述します。そして .fzf/shell/key-bindings.bash に記載されているキーバインドを編集します。大体これで設定は完了となります。後は好きなようにカスタマイズして下さい。

ここで紹介したものより、この方が良いよってあればコメントにお願いします。


その他


vimには fzf を設定してません。unite を使ってます。

2015年7月26日日曜日

qfc による補完

qfc による補完


qfcっていう bash と zshで利用出来るパス補完拡張((?)が HN で紹介されていたので使ってみました。


インストール


難しいことはなくオフィシャルサイトに書いてあるようにします。

git clone https://github.com/pindexis/qfc $HOME/.qfc

と git clone して .bashrc に以下をを追加します。

[[ -s "$HOME/.qfc/bin/qfc.sh" ]] && source "$HOME/.qfc/bin/qfc.sh"

シェルを起動し直すか、source .bashrc で読みなおしてから Ctrl-F で一覧表示して Tab を押すとオフィシャルサイトにあるように一覧が表示されます。何か文字を入力すると対象が絞られていきます。

2015年6月30日火曜日

tmuxでsshしたあとステータスラインの名称がリモートのままになるのを解決する

Tmux を使っていて ssh をリモートホストに行うとステータスラインが ssh を抜けた後もリモートの名称のままになっていて、どう考えてもミスする原因になるので、以下を .bashrc に記述しました。


function ssh() {
       export local window_name
       window_name=$(tmux display -p '#{window_name}')
       command ssh "$@"
       tmux rename-window "$window_name"
}

これで、ssh を抜けた後はもとのウインドウ名に戻ります。ローカルだと思ってその環境がリモートだったりしたら怖いですよね。

追記: このままだと tmux を起動していないときエラーが出るので if で判定するようにした。

if [ -n "${TMUX}" ]; then
        function ssh() {
                export local window_name
                window_name=$(tmux display -p '#{window_name}')
                command ssh "$@"
                tmux rename-window "$window_name"
        }
fi

こんな感じでどうでしょう?