У вас могут быть привязки клавиш в Vim?
17548 просмотра
5 ответа
В моем .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>
Автор: James
Источник
Размещён: 12.11.2019 09:10
Ответы (5)
61 плюса
Папка ftdetect предназначена для сценариев определения типов файлов. Плагины файловых типов должны находиться внутри папки ftplugin. Тип файла должен быть включен в имя файла в одной из следующих трех форм:
.../ftplugin/<filetype>.vim
.../ftplugin/<filetype>_foo.vim
.../ftplugin/<filetype>/foo.vim
Например, вы можете отобразить комментарии для типа файла cpp, поместив в него следующее .../ftplugin/cpp_mine.vim
:
:map <buffer> <C-G> :s/^/\/\//<Esc><Esc>
:map <buffer> <C-T> :s/\/\/// <Esc><Esc>
Автор: freitass
Размещён: 26.05.2011 03:45
75 плюса
Вы можете использовать, :map <buffer> ...
чтобы сделать локальное отображение только для активного буфера. Это требует, чтобы ваш Vim был скомпилирован +localmap
.
Таким образом, вы можете сделать что-то вроде
autocmd FileType python map <buffer> <C-G> ...
Автор: hammar
Размещён: 26.05.2011 03:32
6 плюса
Я предпочитаю, чтобы моя конфигурация была в одном файле, поэтому я использую подход autocmd.
augroup pscbindings
autocmd! pscbindings
autocmd Filetype purescript nmap <buffer> <silent> K :Ptype<CR>
autocmd Filetype purescript nmap <buffer> <silent> <leader>pr :Prebuild!<CR>
augroup end
Vim не очищает set autocmds, когда вы создаете исходный код vimrc
, поэтому, запустив vim, изменив что-то в своем vimrc
и запустив :so ~/.vimrc
, вы дважды определите autocmds. Вот почему привязки сгруппированы и очищены autocmd! group_name
. Вы можете прочитать больше здесь .
Поскольку сопоставления применяются к каждому буферу по умолчанию, и вы хотите изменить их для буферов, соответствующих только типу файла, <buffer>
модификатор находится там, ограничивая сопоставления локальным буфером.
4 плюса
Кстати ... если ваша основная проблема заключается в комментировании ... вы должны проверить плагин 'nerdcommenter', это самый быстрый способ комментировать / раскомментировать ваш код в java / c / c ++ / python / dos_batch_file / и т. Д. И т. Д.
Автор: ticktock Размещён: 24.05.2014 08:41-1 плюса
Это только частичный ответ для людей, приходящих сюда, испытывающих трудности с работой любых скриптов ftplugin, но помните, что ваш .vimrc (или файл, который он содержит) должен содержать
filetype plugin on
или же
:filetype plugin on
чтобы плагины filetype выполнялись при загрузке файла данного типа.
Автор: koyae Размещён: 27.06.2018 11:57Вопросы из категории :
- vim Как мне перечислить загруженные плагины в Vim?
- vim Лучший способ вставить метку времени в Vim?
- vim How to replace a character by a newline in Vim
- vim Duplicate a whole line in Vim
- vim Как вы делаете Vim незаметным, что вы искали?
- vim Использование вкладок Vim, таких как буферы
- vim Как эмулировать транспонированные слова Emacs в Vim?
- vim Почему я должен использовать IDE?
- vim Быстрый отступ нескольких строк в vi
- vim Как вставить текст в начале многострочного выделения в vi / Vim?
- vim Как повторить команду с подстановкой в ??Vim?
- vim В Vim, какой самый простой способ объединить все строки в файле в одну строку?
- vim Могу ли я использовать SPACE в качестве кленовщика в VIM?
- vim Vim: применить настройки к файлам в каталоге
- vim Как вы можете перечислить совпадения поиска Vim?
- vim перейти к персонажу в VIM
- vim Как мне автоматически сложить POD в Perl с помощью vim?
- vim Изменение имен переменных в Vim
- vim Почему Vim сохраняет файлы с расширением ~?
- vim Перейти к определению функции в vim