Posts categorized "Zsh" Feed

Feb 12, 2016

おととい使い始めた Qiita に引き続き投稿した。

この投稿とは関係ないけど、zaw か peco かという点では Qiita 内では圧倒的に peco のようだけど、 peco を試してみた時(だいぶ前なので今はちがうかも)補完候補選びで画面全体をつかうのがどうにも慣れず...。

zaw はカーソル位置のすぐ下に候補がでるので、

  • 視点移動がすくない
  • 画面大幅に書き換わらないので脳内コンテキストスイッチすくない

という2点が優れてるので zaw をずっと使ってるゾゥ。

May 30, 2014

zaw がよいそうなので使い始めてみた。

基本的なところ設定したあと、とりあえずこれがないと始まらないということで、tmux の現在の pane 内に表示されてる文字列を補完対象にするやつだけ追加で書いた。

function zaw-src-tmux-pane-strings() {
    candidates=($(tmux capture-pane\; show-buffer \; delete-buffer | sed '/^$/d' | sed '$ d'))
    actions=("zaw-callback-append-to-buffer")
    act_descriptions=("append to edit buffer")
    return 0
}
zaw-register-src -n tmux-pane-strings zaw-src-tmux-pane-strings
bindkey '^x^o' zaw-tmux-pane-strings

zsh + tmux で同じことやってはいてこれはこれで便利だったけど、先頭一致しないと絞りこまれないのが不便だった(zsh レベルが低いだけでうまいことやる方法知らないだけか?)。それがzaw により部分一致できるようになったのでだいぶ具合がよくなった。

Jan 24, 2013

zsh のコマンドラインで tmux の現在のペイン内の文字列から dabbrev できるようにする設定。screen の hardcopy でやってたやつの tmux 版。

function _dabbrev_from_pane() {
    local sources
    sources=($(tmux capture-pane \; show-buffer \; delete-buffer | sed '/^$/d' | sed '$ d'))
    compadd - "${sources[@]%[*/=@|]}"
}
zle -C dabbrev-from-pane menu-complete _dabbrev_from_pane
bindkey '^o' dabbrev-from-pane

去年末の仕事納めで screen も使い納めて、tmux に移行してたけどこれだけできてないまま放置してたのでやっつけた。

あと、

  • Cent OS 5 のリモートホストに ssh すると terminfo 的なアレがアレしてるせいか vi が使えない
    • 代替案:tramp ちゃんと使う
  • bash だと表示がなんか崩れてたりする(PS1 の設定のせい?)
    • 代替案:全サバに zsh いれる(・∀・)

とかの未解決問題はまだ若干あるけど、概ね個人環境に追いついた。