2014-01-17 3 views
12

Иногда я хочу вставить #, чтобы прокомментировать строку и протестировать ее быстро. В настоящее время я:Вставить символ без ввода режима вставки?

я#ESC:ж

Есть ли что-то короче, что я могу сделать?

+1

Возможный дубликат [Что можно быстро прокомментировать/раскомментировать в Vim?] (Http://stackoverflow.com/questions/1676632/whats-a-quick-way-to-comment-uncomment-lines-in -vim) – ben

+2

Существует много сценариев комментариев. Я использую commentary.vim: https://github.com/tpope/vim-commentary –

+2

Как говорили другие, вы можете попробовать плагин для комментариев. Однако в более общем плане, если у вас есть простое действие, которое вам нужно делать часто или повторно, вы можете легко создать сопоставление или макрос. – pandubear

ответ

6

Хотя я согласен с другими, что есть better ways to comment and uncomment code, кажется, что люди отвлеклись и забыли ответить на вопрос.

Это мой подход к вставке одного символа:

:noremap <key> i <Esc>r 

Я, как правило, чтобы найти, что мне нужно очень часто заменять, удалять или добавлять отдельные символы, если я исправление опечаток, так (соотв.) r, x, и все, что выбрано для <key> в приведенном выше, очень удобно.

Обратите внимание, что . также особенно удобен для такого рода задач. Он повторяет предыдущее действие.

Лично, однако, я привязываю эту функцию к ценному ключу, когда выполняю задачу, где я использую ее достаточно часто, чтобы оправдывать занятие на клавиатуре (например, исправление опечаток), потому что на самом деле это только сохраняет одно нажатие клавиши для использования, и только тогда, когда <key> не является комбинацией, что, конечно же, ограничивает доступность.

+0

Возможно, это только экономит один ключевой штрих, но также сохраняет умственные накладные расходы на режимы переключения, которые должны ощущаться в VIM. –

+0

Это сопоставление [не работает] (https://vi.stackexchange.com/questions/5176/is-there-a-way-to-insert-a-single-character-and-then-exit-insert- mode # comment9880_5177) с '.' – Sparhawk

1

Вы можете использовать запись. От нормального режима, типа:

qlml0i#<press escape>`lq 

Затем закомментируйте строку, просто нажмите @l

2

Mapping в Vim настолько проста, что я мог бы сделать что-то вроде

:nmap CC I#<Esc>:w<CR> 

на лету. Если я привык к этому, я добавлю его в файл vimrc.

:help key-mapping 
:help usr_40.txt 
2

Я карту пару вещей, чтобы мой <leader> ключ (\ по умолчанию):

" # comment the current line 
nnoremap <leader>d I#<ESC> 

" block comment in visual mode 
vnoremap <leader>c <ESC>'<O/*<ESC>'>o*/<ESC>V'<k 

Если вы хотите добавить # к началу группы линий, то сделать это:

  1. <ctl-v>
  2. j (столько раз, сколько необходимо
  3. I#
  4. <esc>
0

Я особенно любил tComment плагин. gcc прокомментировать строку, повторить до раскола, несколько строк, движения и т. д.

Смежные вопросы