Предотвратить случайное открытие vim двоичных файлов? - PullRequest
13 голосов
/ 26 апреля 2011

Я часто случайно открываю двоичный исполняемый файл, то есть "foo", когда имею в виду открыть связанный исходный код "foo.cpp".Корень проблемы заключается в том, что завершение табуляции, т.е. :e fo<tab> обычно попадает в двоичный файл вместо исходного кода.

Есть ли способ получить vim, чтобы только табуляция полных имен текстовых файлов?Или, в качестве альтернативы, изменить порядок завершения вкладки?

Иногда моя поспешная ошибка завершения вкладки происходит вне vim;В таких случаях, как лучше всего запретить vim открывать файлы, которые не являются текстовыми?

Ответы [ 3 ]

17 голосов
/ 26 апреля 2011

Не совсем то, что вам нужно, но у меня есть что-то подобное в моем .vimrc

" ignore these files when completing names and in Ex
set wildignore=.svn,CVS,.git,*.o,*.a,*.class,*.mo,*.la,*.so,*.obj,*.swp,*.jpg,*.png,*.xpm,*.gif,*.pdf,*.bak,*.beam
" set of file name suffixes that will be given a lower priority when it comes to matching wildcards
set suffixes+=.old
1 голос
/ 18 сентября 2011

Может быть, вы найдете это полезным:

set wildmenu
set wildmode=longest,list

(взято и используется из Как сделать так, чтобы vim делал нормальное (как bash) завершение табуляции для имен файлов? )

1 голос
/ 18 сентября 2011

Для завершения табуляции вне vim, это будет зависеть от вашей оболочки. Большинство оболочек имеют некоторую форму поддержки автозаполнения. В частности, Zsh имеет возможность автозаполнения, например, удаленные хосты для ssh. Я не волшебник в этих вопросах, но, вероятно, было бы относительно просто заставить вашу оболочку удалять файлы с определенными суффиксами из списка автозаполнения, когда набираемая вами команда начинается с "vim".

Быстрый поиск в Google + 1003 * этой странице , который имеет это:

# Filename suffixes to ignore during completion (except after rm command)
zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
'*?.old' '*?.pro'

Не должно быть слишком сложно изменить эту логику, чтобы получить то, что вы хотите (если вы используете Zsh).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...