Как на картепереключать комментарии в vim? - PullRequest
28 голосов
/ 29 января 2012

Я использую vim под iterm2.Я использую плагин NERDCommenter, и я хотел бы использовать Ctrl + / для переключения комментариев (пытаюсь переключиться с Idea / Eclipse на vim).Это мое отображение в .vimrc:

 nmap <C-/> <leader>c<Space>
 vmap <C-/> <leader>c<Space>

Но, похоже, это не работает.В чем может быть причина?

Ответы [ 4 ]

39 голосов
/ 29 января 2012

По какой-то причине vim регистрирует <C-/> как <C-_> (вы можете увидеть это в режиме вставки, используя <C-v><C-/>).Это может быть терминал или исторический проект, от которого должны страдать терминальные приложения.

И Gvim даже не пытается распознать <C-/>.Видит это как один /.

6 голосов
/ 08 февраля 2018

Вот как вы можете сделать это, восстанавливая выбор, если вы находитесь в визуальном режиме:

nmap <C-_>   <Plug>NERDCommenterToggle
vmap <C-_>   <Plug>NERDCommenterToggle<CR>gv
1 голос
/ 07 февраля 2018

Если вы используете iTerm2 + vim, возможно, вам помогут следующие шаги:

  1. Добавьте следующий код в ваш файл .vimrc.

    map, cc NERDCommenterToggle

    или если вы определили как,

    map cc NERDCommenterToggle

  2. Проверьте, можно ли использовать ,cc для переключения комментариев в vim

  3. Открыть iTerm2 -> Preferences -> Keys, нажмите кнопку +

  4. Выберите Send Text with "vim" Special Chars, введите ,cc, вот так .

  5. Теперь вы можете использовать C-/ для переключения комментариевв действ.

0 голосов
/ 19 июня 2017

Просто чтобы подвести итог информации из других ответов.Для меня (может быть разница из-за того, что я использую neovim ) <C-/> отлично работает в Windows, но мне нужно использовать <C-_> в Linux:

if has('win32')
  nmap <C-/> <leader>c<Space>
  vmap <C-/> <leader>c<Space>
else
  nmap <C-_> <leader>c<Space>
  vmap <C-_> <leader>c<Space>
endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...