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оно работает.

Другие вопросы по тегам