几个月前,我在Mac上安装了一个实用程序,这样就不用输入这样的东西了:vim /type/path/to/the/file我可以直接输入:v file10次中有9次它会根据过去的历史来猜测正确的文件,类似于autojump的工作方式。而不是输入vim,我可以只输入字母v。我不记得我是怎么设置的了。它仍然可以在我的mac上工作,但我在我的.bash_profile中看不到任何显示我是如何做到这一点的。我正试着在我的linux机器上运行这个。
vim /type/path/to/the/file
v file
autojump
vim
v
yks3o0rb1#
这个可以在这里找到https://github.com/rupa/v/blob/master/v它也可以在Linux中运行。这是一个bash脚本,它使用viminfo历史文件来填充部分字符串。它可以通过brew install v安装在macOS上
brew install v
8ehkhllq2#
啊!我找到了which的命令。这是神奇的剧本。我不能确定我是从哪里得到它的。
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+=("$@"); 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}"
2条答案
按热度按时间yks3o0rb1#
这个可以在这里找到
https://github.com/rupa/v/blob/master/v
它也可以在Linux中运行。这是一个bash脚本,它使用viminfo历史文件来填充部分字符串。
它可以通过
brew install v
安装在macOS上8ehkhllq2#
啊!我找到了
which
的命令。这是神奇的剧本。我不能确定我是从哪里得到它的。