vim을 완성하기위한 작은 bash 함수를 작성했습니다. 이 함수는 다음과 같다 : 나는 그것이 _VIM_IGNORE 변수를 정의하고 그에게 FIGNORE를 설정하여 확장 PDF, DVI 등의 파일을 무시하도록 노력했다vim을위한 bash 완성에서 파일 확장자를 무시하십시오
# completion for vim
_vim()
{
local cur prev
COMPREPLY=()
_get_comp_words_by_ref cur prev
case $prev in
-h|--help|-v|--version)
return 0
;;
esac
if [[ "$cur" == -* ]] ; then
local _vopts='-v -e -E -s -d -y -R -Z -m -M -b -l -C'
_vopts="${_vopts} -N -V -D -n -r -r -L -A -H -F -T -u"
_vopts="${_vopts} --noplugin -p -o -O --cmd -c -S -s -w -W"
_vopts="${_vopts} -x -X --remote --remote-silent --remote-wait"
_vopts="${_vopts} --remote-wait-silent --remote-tab --remote-send"
_vopts="${_vopts} --remote-expr --serverlist --servername"
_vopts="${_vopts} --startuptime -i -h --help --version"
COMPREPLY=($(compgen -W "${_vopts}" \
-- "$cur"))
return 0
fi
local _VIM_IGNORE=".pdf:.dvi:.jpg:.pyc:.exe:.tar:.zip:.ps"
FIGNORE="${_VIM_IGNORE}" _filedir
} &&
complete -F _vim vim vi v gv vd
하지만이 작동하지 않습니다.
어떤 방법을 생각 하나?
감사합니다.
그 뒤에'_filedir'을 제거해 보셨습니까? – Conner
_filedir는 실제로 파일과 디렉토리의 완성을 반환하는 함수이므로 파일과 폴더의 이름과 완전히 일치하지는 않습니다. – skeept