Я установилэтот плагинс Vundle и заметил, что у него есть некоторые настройки (в README они называются переменными), например:
b:javascript_fold
и
g:javascript_conceal
В README говорится, что я "могу добавить их в свой, .vimrc
чтобы включить/отключить их функции". Но я не уверен, как установить их через :
. Эти переменные недоступны через set
или echo
, и они не являются командами или функциями. Как я могу установить/проверить их?
решение1
Это внутренние переменные.
Вы создаете и изменяете их с помощью :let
команды:
:let g:var_name = 1
Вы уничтожаете их с помощью :unlet
.
Вы проверяете их с помощью :echo
.
Префикс показывает область действия переменной; от :help internal-variables
:
buffer-variable b: Local to the current buffer.
window-variable w: Local to the current window.
tabpage-variable t: Local to the current tab page.
global-variable g: Global.
local-variable l: Local to a function.
script-variable s: Local to a |:source|'ed Vim script.
function-argument a: Function argument (only inside a function).
vim-variable v: Global, predefined by Vim.
Добавление такого рода переменной к вашему ~/.vimrc
коду выглядит следующим образом:
let g:var_name = 1
Обычно в ваш файл добавляются только глобальные переменные ~/.vimrc
, а в плагинах типов файлов используются локальные переменные буфера.
решение2
Переменные конфигурации не являются опциями, они только "эмулируют" те, что для плагинов. Поэтому вы не используете :set
, но :let
(и :echo
для перечисления их текущего значения).
Символ перед переменной определяет ее область действия. g:
означает глобальный; обычно его нужно устанавливатьдоплагин загружается, т.е. путем размещения
let g:javascript_conceal = 1
в свой ~/.vimrc
(и перезапустив Vim).
Поскольку некоторые конфигурации применяются только к определеннымтипы файлов, они используют b:
префикс. Установка их ~/.vimrc
просто применит их к первому открытому буферу, а это не то, что вам нужно. Вместо этого вам нужно подключиться копределение типа файламеханизм.
Если вы хотите включить опцию конфигурации только для определенных типов файлов, используйте :let b:var = value
вместо этого и поместите соответствующие команды в ~/.vim/after/ftplugin/{filetype}.vim
, где {filetype}
— фактический тип файла (например javascript
, ). (Для этого требуется, чтобы у вас было :filetype plugin on
; использованиепослекаталог позволяет вам переопределить любые настройки типа файла по умолчанию, заданные $VIMRUNTIME/ftplugin/{filetype}.vim
.)
В качестве альтернативы вы можете определить :autocmd FileType {filetype} setlocal option=value
непосредственно в вашем ~/.vimrc
, но это может стать громоздким, если у вас много настроек.
autocmd Filetype javascript let b:javascript_fold = 1