2017-12-12 18 views
0

は数ヶ月前に、私は私のMac上でユーティリティをインストール: 10のうち編集ファイル

v file

9回にはautojump動作原理と同様、過去の歴史に基づいて、正しいファイルを推測します。 vimと入力するのではなく、vと入力するだけです。

私はこれをどのように設定するのか思い出せません。それはまだ私のMacで動作しますが、私はどのようにそれを行ったかを示す私の.bash_profileに何も表示されません。

私はこれを自分のLinuxボックスで動作させようとしています。

+1

本当に適切な質問ではありませんが、[fasd](https://github.com/clvv/fasd)をチェックしてください。これは 'fasd -f -e vim'でこれを行うように設定できます。 – bnaecker

答えて

1

これは、それがあまりにもLinux上で動作するはずここ

https://github.com/rupa/v/blob/master/v

を見つけることができます。 viminfo 履歴ファイルを使用して部分文字列を入力するbashスクリプトです。

0

Ah! whichというコマンドが見つかりました。ここに魔法のスクリプトがあります。私はどこにあるのか分からない。

#!/usr/bin/env bash 

[ "$vim" ] || vim=vim 
[ $viminfo ] || viminfo=~/.viminfo 

usage="$(basename $0) [-a] [-l] [-[0-9]] [--debug] [--help] [regexes]" 

[ $1 ] || list=1 

fnd=() 
for x; do case $x in 
    -a) deleted=1;; 
    -l) list=1;; 
    -[1-9]) edit=${x:1}; shift;; 
    --help) echo $usage; exit;; 
    --debug) vim=echo;; 
    --) shift; fnd+=("[email protected]"); break;; 
    *) fnd+=("$x");; 
esac; shift; done 
set -- "${fnd[@]}" 

[ -f "$1" ] && { 
    $vim "$1" 
    exit 
} 

while IFS=" " read line; do 
    [ "${line:0:1}" = ">" ] || continue 
    fl=${line:2} 
    [ -f "${fl/\~/$HOME/}" -o "$deleted" ] || continue 
    match=1 
    for x; do 
     [[ "$fl" =~ $x ]] || match= 
    done 
    [ "$match" ] || continue 
    i=$((i+1)) 
    files[$i]="$fl" 
done < "$viminfo" 

if [ "$edit" ]; then 
    resp=${files[$edit]} 
elif [ "$i" = 1 -o "$list" = "" ]; then 
    resp=${files[1]} 
elif [ "$i" ]; then 
    while [ $i -gt 0 ]; do 
      echo -e "$i\t${files[$i]}" 
      i=$((i-1)) 
    done 
    read -p '> ' CHOICE 
    resp=${files[$CHOICE]} 
fi 

[ "$resp" ] || exit 
$vim "${resp/\~/$HOME}" 
+0

最後に見つかりました:https://github.com/rupa/v 素晴らしいです。 – StevieD