Когда я пишу код, я часто вручную выполняю следующие действия, выбрав несколько строк кода.
:'<,'>s/^/#/
Я хочу добавить это в свой .vimrc, но у меня возникли проблемы с его работой. Цель состоит в том, чтобы иметь возможность выбрать набор строк, а затем нажать mapleader c, и vim добавит дополнительный символ # в начало всех выбранных строк.
1 " Key mapping.
2 let mapleader = ","
...
141 nmap <silent> <leader>c :<'>'s/^/#/<CR>
Строка 141, похоже, просто удаляет выбранные строки, и у меня возникли проблемы с пониманием того, почему это происходит. Есть идеи, что я делаю неправильно или что я могу изменить, чтобы это заработало?
решение1
Попробуйте это: он выполняет вставку блока в визуальном режиме
vmap <silent> <leader>c :norm i#<ESC>
решение2
Это точная копия строки, которую @miyalys дала в комментарии, и она работает именно так, как я и хотел.
vmap <silent> t :s/^/#/<CR>:let @/ = ""<CR>
Он говорит, что не смог заставить его работать с буквой «с», но мне удалось заставить его работать с этим символом.
Спасибо.