Я хочу написать небольшую псевдоним, также известную как функция быстрого открытия сеансов vim.
vims () { vim -S "${HOME}/Sessions/${1}" }
Как выполнить bash / предложить файлы сеансов в пути при вводе vims Tab Tab
vims
На основании pynexj ответа и моего ежедневного использования:
_autocomplete() { local cmd=$1 cur=$2 pre=$3 from_path=$4 local _cur compreply _cur=$from_path/$cur compreply=( $( compgen -d "$_cur" ) ) COMPREPLY=( ${compreply[@]#$from_path/} ) if [[ ${#COMPREPLY[@]} -eq 1 ]]; then COMPREPLY[0]=${COMPREPLY[0]}/ fi } vims() { vim -S ~/Sessions/$1 } _vims_autocomplete() { _autocomplete "$1" "$2" "$3" ~/Sessions } complete -F _vims_autocomplete -o nospace vims # This way allow me to create different alias using the same autocomplete gogit() { cd ~/git/$1 } _gogit_autocomplete() { _autocomplete "$1" "$2" "$3" ~/git } complete -F _gogit_autocomplete -o nospace gogit
Вы можете получить более подробную информацию о полной здесь и учебном пособии здесь .