#vim #markdown
#vim #markdown
Вопрос:
Мне приходится форматировать множество файлов в markdown вручную, и мне часто приходится заключать некоторые изолированные слова в обратные метки, чтобы получить их в виде диапазона кода, т.Е.: object.method -> `object.method`
Я использую vim, и мне было интересно, как я мог бы написать и сопоставить с некоторой клавишей команду, которая бы помещала обратные метки вокруг слова под курсором, например, просто нажав F1?
Спасибо!
Ответ №1:
Канонический ответ заключается в использовании плагина surround от Time Pope, который позволяет легко окружать выделение.(Если только вы не хотите устанавливать какой-либо плагин)
Комментарии:
1.
ysiW`
иviWS`
оба являются хорошими способами достижения вашей цели с использованием объемного звучания
Ответ №2:
Еще одно (грубое) решение без плагинов ради разнообразия:
nnoremap <key> ciw`<C-r>"`<Esc>
xnoremap <key> c`<C-r>"`<Esc>
но да, просто установите surround.
Ответ №3:
в lh-скобках уже определено несколько сопоставлений для markdown:
- обратная метка вставит пару обратных меток в режиме вставки или окружит текущее слово или текущий выделенный фрагмент (то, что вы искали, и это окружение также предоставляет свой собственный «синтаксис»)
*
->*<cursor>*
; дважды для**<cursor>**
(<localleader>*
для окружения)_
->_<cursor>_
; дважды для__<cursor>__
(_
для окружения)~
-><del><cursor></del>
(<localleader>~
для окружения)<BS>
-> в режиме ВСТАВКИ удаляет пустую пару, когда курсор находится внутри нее.
Ответ №4:
Вот одна строка, которую вы можете попробовать:
:nmap <F4> :s/(<c-r>=expand("<cword>")<cr>)/`1`/<cr>
После выполнения этой команды нажатие клавиши F4 сделает то, что вы хотите, т. е. заменит слово под курсором на то же слово, окруженное обратными метками.
[ОБНОВИТЬ]
Это может не сработать для чего-то вроде object .Метод. Для этого приведено новое отображение в визуальном режиме. Выберите блок текста, который вы хотите окружить обратным метком, и нажмите F3
:vnoremap <F3> <Esc>`>a`<Esc>`<i`<Esc
Комментарии:
1. xnoremap будет еще лучше.