vimで選択中の文字列とペーストボードのURLからmarkdownのリンクを作るスクリプト
やったこと
vimでmarkdownの文書を作成中に,リンクを作りたくなることがよくあります.
例えばこのリンクを
みたいな文書を書いたあとで,URLをブラウザからコピーし,[このリンク](https://example.com)を
みたいに編集することです.
これをショートカットで行うためのvimスクリプトを書きました.
動作はこんな感じです.
スクリプト
.vim/ftplugin/markdown.vim
" Create link with selected text and copied URL
function! s:MarkdownCreateLink()
if &filetype != 'markdown'
return
endif
let url = getreg('*')
let keys = "gvs[\<C-r>\"](".url.")\<ESC>"
call feedkeys(keys, 'n')
endfunction
" Create link with selected text and copied URL
vnoremap <buffer> <silent> <Leader>l :call <SID>MarkdownCreateLink()<CR>
- filetypeがmarkdownになった後で異なるfiletypeに変更された場合を考慮して,関数においてfiletypeがmarkdownかどうかをチェックしています.
<Leader>l
をショートカットにしています.