В моем .vimrc
файле у меня есть привязка клавиш для комментирования, которая вставляет двойную косую //
черту ( ) в начале строки:
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/\/\//<Esc><Esc>
:map <C-T> :s/\/\/// <Esc><Esc>
Однако, когда я редактирую скрипты Python, я хочу изменить это на #
знак для комментариев.
У меня есть Python.vim
файл в моей .vim/ftdetect
папке, в котором также есть настройки для ширины вкладок и т. Д. Каков код для переопределения привязок клавиш, если это возможно, чтобы я использовал Python:
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/#/<Esc><Esc>
:map <C-T> :s/#/ <Esc><Esc>
<buffer>
роль.Вы можете использовать
:map <buffer> ...
для создания локального отображения только для активного буфера. Для этого требуется, чтобы ваш Vim был скомпилирован с использованием+localmap
.Итак, вы можете сделать что-то вроде
источник
Я предпочитаю хранить свою конфигурацию в одном файле, поэтому использую подход autocmd.
Vim не сбрасывает автоматические команды при
vimrc
запуске, поэтому при запуске vim, изменении чего-либо в вашемvimrc
и запуске:so ~/.vimrc
autocmds будут определены дважды. Вот почему привязки сгруппированы и очищены с помощьюautocmd! group_name
. Вы можете узнать больше здесь .Поскольку сопоставления применяются к каждому буферу по умолчанию, и вы хотите изменить их для буферов, соответствующих только типу файла,
<buffer>
модификатор находится там, ограничивая сопоставления локальным буфером.источник
Кстати ... если ваша основная проблема связана с комментированием ... вам следует проверить плагин 'nerdcommenter', это самый быстрый способ прокомментировать / раскомментировать ваш код в java / c / c ++ / python / dos_batch_file / etc и т. Д.
источник
Я рекомендую
.../ftplugin/<filetype>.vim
подход, который предлагает freitass, но в вашем конкретном случае Vim Commentary решит все это за вас.источник
Это лишь частичный ответ для людей, которые приезжают сюда и испытывают трудности с работой каких- либо скриптов ftplugin, но помните, что ваш .vimrc (или исходный файл) должен содержать
или же
для плагинов типа файла, которые будут выполняться при загрузке файла данного типа.
источник