:s/^/\/\//:map :s/\/\/// Однако, когда я ред" />

У вас могут быть привязки клавиш в Vim?

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>модификатор находится там, ограничивая сопоставления локальным буфером.

Автор: alextes Размещён: 09.01.2019 10:28

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
Вопросы из категории :
32x32