--- title: peco + git ls-files を改良してみた author: kazu634 date: 2014-12-20 url: /2014/12/20/improve-git-ls-files-with-peco/ wordtwit_posted_tweets: - 'a:1:{i:0;i:5569;}' wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:1;s:11:"tweet_times";i:1;s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";s:98:"ブログに新しい記事を投稿したよ: peco + git ls-files を改良してみた - [link] ";s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:5569;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' tmac_last_id: - 565475588425912321 categories: - git - vim - zsh --- Git – pecoを使って生産性を上げるちょっとした工夫 – Qiitaから少し改良させてみました。改良点は以下の点です: * pecoで何も指定しなかった場合は、vimを起動しないようにする * gitレポジトリではない場合は、そもそもなにもしないようにする コードはこちら: ``` # check whether `peco` exists if which peco > /dev/null; then function gim () { # check whether the current directory is under `git` repository. if git rev-parse 2> /dev/null; then local selected_file=$(git ls-files . | peco) if [ -n "${selected_file}" ]; then vi ${selected_file} fi fi } fi ``` * * * ### 参考 * pecoを使って生産性を上げるちょっとした工夫 * カレントディレクトリがGitリポジトリ下か否か判定する – すぎゃーんメモ * zshのターミナルにリポジトリの情報を表示してみる – けんごのお屋敷