Автоматическое включение и отключение переноса слов для разных расширений файлов в Vim

Обычно мне приходится читать файлы .txt с длинными строками и в то же время редактировать какой-то исходный файл, и мне нравится видеть перенос слов в файлах .txt, а не в тех, которых нет.

Конечно, я могу :set wrap и :set linebreak, но есть ли способ сделать это автоматически и в зависимости от расширения файла?


person Martín Fixman    schedule 30.06.2010    source источник


Ответы (3)


Я думаю, :autocmd BufNewFile,BufRead *.txt set wrap должен помочь

person Tassos    schedule 30.06.2010

Есть два варианта, которые я могу придумать. Во-первых, вы можете использовать autocmd, как предложил Tassos:

:au BufNewFile,BufRead *.txt set wrap

Видеть:

:help autocmd

Альтернатива (которая, вероятно, более применима, если у вас есть несколько настроек, как вы предложили): создайте файл в каталоге after/ftplugin вашей папки конфигурации vim (см. ниже) с именем txt.vim, и он будет использоваться всякий раз, когда вы открываете файл .txt . Вы можете поместить его в обычный каталог ftplugin (а не в after/ftplugin), но тогда любые встроенные настройки для файлов .txt не будут загружены.

Поместите любые команды, которые вы хотите в этот файл:

" This is txt.vim in the ftplugin directory
set wrap
set linebreak

Видеть:

:help after-directory
:help ftplugin

Папка конфигурации Vim

В Windows это обычно выглядит примерно так:

C:\Documents and Settings\%USERNAME%\vimfiles\after\ftplugin\txt.vim

(думаю) или

C:\Program Files\Vim\vimfiles\after\ftplugin\txt.vim

или даже:

C:\vim\vimfiles\after\ftplugin\txt.vim

В линуксе это:

~/.vim/after/ftplugin/txt.vim

Для получения дополнительной информации см.:

:help runtimepath
person DrAl    schedule 30.06.2010
comment
установить nowrap, чтобы добиться обратного также - person sjh; 30.06.2010
comment
Для маршрута ftplugin мне также нужно было добавить au! BufNewFile,BufRead *.txt setf txt в мой файл filetype.vim. - person matpie; 27.08.2010
comment
@sirlancelot Я думаю, что счетчик указывает на изменение filetype.vim. Вместо этого вы должны добавить это в свой .vimrc. - person joce; 25.08.2012
comment
Я думаю, что файл ftplugin должен использовать setlocal, а не set, чтобы настройки не применялись ко всем открытым буферам. - person gerrard00; 11.03.2016

вы можете сделать гораздо больше с помощью автокоманды, см. здесь: http://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-steps-to-add-custom-header-квашемуфайлу/

person thegeek    schedule 01.07.2010