ottijp blog

vimで選択中の文字列とペーストボードのURLからmarkdownのリンクを作るスクリプト

  • 2024-05-29

やったこと

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をショートカットにしています.

ottijp
都内でアプリケーションエンジニアをしています
© 2024, ottijp