1

Когда я кодирую, я стараюсь выполнять следующее вручную после выбора нескольких строк кода.

:'<,'>s/^/#/

Я хочу добавить это к моему .vimrc, но у меня проблемы с его работой. Намерение состоит в том, чтобы иметь возможность выбрать набор строк, а затем нажать mapleader c, и vim добавит дополнительный # в начале всех выбранных строк.

1 " Key mapping.                                                                                                                                                      
2 let mapleader = ","
...
141 nmap <silent> <leader>c :<'>'s/^/#/<CR>

Строка 141, кажется, просто удаляет выделенные строки, и у меня возникают проблемы с пониманием, почему это так. Любые идеи, что я делаю неправильно или что я могу изменить, чтобы заставить это работать?

2 ответа2

2

Попробуйте это: он делает вставку блока в визуальном режиме

vmap <silent> <leader>c :norm i#<ESC>
0

Это точная копия строки, которую @miyalys дал в комментарии, и она работает именно так, как я хочу.

vmap <silent> t :s/^/#/<CR>:let @/ = ""<CR>

Он говорит, что не мог заставить его работать с c, но я заставил его работать с этим персонажем.

Благодарю.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .