Как я настраиваю различные установки позиций табуляции для различных языков в Vim?

InController

$hostname = 

InController

[110]

В blade.view

{{

InController

[110]

В blade.view

[111]ENV['IMAP_HOSTNAME_TEST']}}
ENV['IMAP_HOSTNAME_TEST']; (or) $hostname = env('IMAP_HOSTNAME_TEST');

В blade.view

{{

InController

[110]

В blade.view

[111]ENV['IMAP_HOSTNAME_TEST']}}
65
задан Peter Mortensen 15 March 2014 в 21:31
поделиться

3 ответа

Просто поместите настройки в файл плагина типа файла ~ / .vim / ftplugin / LANGUAGE.vim. Мой ~ / .vim / ftplugin / perl.vim содержит строки:

"
" ---------- tabulator / shiftwidth --------------------
"  Set tabulator and shift width to 4 (Perl Style Guide)
"
setlocal  tabstop=4
setlocal  shiftwidth=4
"

Эти настройки будут автоматически действовать для каждого файла с типом файла 'perl' (новые или существующие).

53
ответ дан 24 November 2019 в 15:17
поделиться

Обычно вы создаете специальный файл типа vimrc с настройками для определенного языка, а затем используете автокоманды в своем основном .vimrc для выполнения специального vimrc, когда это необходимо. Вот моя конфигурация для файлов Haskell ( .hs и т. Д.):

autocmd! BufNewFile,BufReadPre,FileReadPre  *.hs    so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre  *.hsc   so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre  *.lhs   so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre  *.cabal so ~/.vim/haskell.vim

My ~ / .vim / haskell.vim делает такие вещи, как "set expandtab", чтобы использовать пробелы вместо вкладки и всякая другая магия для форматирования и тому подобное. Вы часто можете загрузить их хорошие версии для различных языков с http://vim.org и других сайтов.

Обратите внимание, что вы можете сделать гораздо больше, чем просто изменить настройки vim. Например, вы можете пропустить файл через фильтр до и после редактирования:

" Edit gpg-encrypted ascii-armoured files
autocmd! BufReadPre,FileReadPre      *.asc  set bin
autocmd  BufReadPost,FileReadPost    *.asc  '[,']!gpg -q -d
autocmd  BufReadPost,FileReadPost    *.asc  set nobin
autocmd! BufWritePre,FileWritePre    *.asc  set bin
autocmd  BufWritePre,FileWritePre    *.asc  '[,']!gpg -e
autocmd  BufWritePost,FileWritePost  *.asc  undo
autocmd  BufWritePost,FileWritePost  *.asc  set nobin
9
ответ дан 24 November 2019 в 15:17
поделиться

Мой ответ основан на этом совете на VIM Wiki. В этом ответе используется каталог «after», поэтому вам не придется возиться с предоставленными файлами подключаемых модулей для разных типов файлов.

Например, чтобы указать собственные настройки для файлов Python, создайте файл с именем python.vim для хранения ваших настроек Python:

setlocal expandtab
setlocal shiftwidth=4
setlocal softtabstop=4

Поместите этот файл в

  • ~ / .vim / after / ftplugin ( Linux)
  • $ HOME / vimfiles / after / ftplugin (Windows)

И, наконец, вы должны иметь это в своем .vimrc (Linux) или _vimrc (Windows):

filetype plugin indent on
22
ответ дан 24 November 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: