Vim плагин для добавления внешних ссылок
Теперь, это может быть что-то очевидное и уже решенное и известное всем, но я просто подумал об этом, так что помилуй...
Есть ли плагин Vim для (при написании текстов уценки), который позволяет вставлять ссылки так, как это делает Ctrl-L здесь (Stackru). Или что-то похожее на это.
Например, я пишу ссылку http://www.google.com/, нажимаю Ctrl-L, и она перемещает эту ссылку в конец страницы, заменяя ее [description][28], где 28 - текущая (увеличить на один от последнего) идентификатор.
Кто-нибудь? Что-нибудь подобное?
5 ответов
Я использую пользовательский макрос для вставки ссылок из системного буфера обмена (протестировано с Vim 7.3 на OS X и Windows, должно работать и с Linux) и использую formd для преобразования результирующих ссылок встроенного стиля в ссылочный стиль, когда я считаю нужным.
Я получил эти макросы в моем .vimrc
:
" Create a Markdown-link structure for the current word or visual selection with
" leader 3. Paste in the URL later. Or use leader 4 to insert the current
" system clipboard as an URL.
nnoremap <Leader>3 ciw[<C-r>"]()<Esc>
vnoremap <Leader>3 c[<C-r>"]()<Esc>
nnoremap <Leader>4 ciw[<C-r>"](<Esc>"*pli)<Esc>
vnoremap <Leader>4 c[<C-r>"](<Esc>"*pli)<Esc>
И использовать их для вызова formd
который живет в моем ~/bin/
папка:
" Use formd to transfer markdown from inline to reference links and vice versa
" see: http://drbunsen.github.com/formd/
nmap <leader>fr :%! ~/bin/formd -r<CR>
nmap <leader>fi :%! ~/bin/formd -i<CR>
Поэтому я просто копирую нужную ссылку, перехожу к слову (или использую визуальный режим, чтобы выбрать больше слов), чтобы превратиться в ссылку, и нажимаю ,4
, Если я знаю, что я буду связывать слово или выбор, но еще не указал URL, я нажимаю ,3
и макрос вставляет необходимые скобки пустыми.
Удары ,fr
производит эталонный стиль Если нужно, ,fi
возвращается к ссылкам в стиле inline.
У меня нет точно подходящего решения, но мой плагин vim-googurl выполняет часть работы.
:help autocmd
можно использовать для перечисления возможных вариантов.
он может не делать именно то, что вы просите, но вы можете изменить его в соответствии со своими потребностями.
autocmd Filetype markdown,rmd noremap ,1 i[][]<Esc>bplla1<esc>m1Go[1]:<Space><esc>p'1f1wa<Space>
autocmd Filetype markdown,rmd noremap ,2 i[][]<Esc>bplla2<esc>m2Go[2]:<Space><esc>p'2f2wa<Space>
где 1
может быть первая ссылка и 2
второй...
поместите вашу ссылку в основной выбор.
поместите курсор в нормальный режим и нажмите,1
начать.
Хотя этот плагин описан не совсем точно, этот плагин, похоже, предназначен для облегчения работы со сносками.
Что касается ответа Денниса Вегнера и его
.vimrc
запись для
<leader>4
это сработало для меня:
nnoremap <leader>4 ciw[<C-r>"](<Esc>"*pa)<Esc><CR>
vnoremap <leader>4 c[<C-r>"](<Esc>"*pa)<Esc><CR>
"*pil
привело к тому, что не написали заключение
)
но с
"*pa
оно работает.