ハカセノオト

moon indicating dark mode
sun indicating light mode

Vim による markdown の執筆環境

January 01, 2021

Template/Snippet ツール

mattn/vim-sonictemplate

安心と信頼の mattn さん製。

使用方法

例えば空の markdown ファイルを開いて下記のコマンドで blog post 用のテンプレートを呼び出す。

:Template blog

設定

~/.vimrc には下記のように個人用の template を配置するディレクトリを指定。

let g:sonictemplate_vim_template_dir = ['~/.vim/template']

以下のように自分で作ったテンプレートを作成。

$ tree .vim/template/
.vim/template/
├── markdown
│   ├── base-blog.md
│   └── base-meeting.md
└── sh
└── base-shebang.sh

ファイル内容が空のときに使われるテンプレートは、ファイル名先頭に base- を付ける。

ファイル内容が何かしら既に書き込まれている場合に使うスニペットはファイル名先頭に snip- を付ける。

テンプレート例は、下記を参考に。

より詳細な使い方は、 ヘルプ を参照する。

:help sonictemplate

クリップボードの画像を貼り付ける

ferrine/md-img-paste.vim: paste image to markdown

使用方法

<leader> + p

mac だと ctrl + command + shift + 4 で範囲選択してスクリーンショットを clip board にキャプチャできる。

設定

" key map の登録
autocmd FileType markdown nmap <buffer><silent> <leader>p :call mdip#MarkdownClipboardImage()<CR>
" clip board 画像ファイルを保存するディレクトリ名
let g:mdip_imgdir = 'images'
" 画像ファイル名の prefix
let g:mdip_imgname = 'image'

URL を貼り付けたときに自動でタイトルを取得してハイパーリンクにする

mattn/emmet-vim

使用方法

<C-y> + a

キーマッピングでハイパーリンクを素早く作成(自動でタイトルは取得しない)

すでに text があって、そこに URL を貼って hyperlink にしたい場合は

nnoremap <Leader>3 ciw[<C-r>"]()<Esc>
vnoremap <Leader>3 c[<C-r>"]()<Esc>
nnoremap <Leader>4 ciw[<C-r>"](<Esc>"*pa)<Esc>
vnoremap <Leader>4 c[<C-r>"](<Esc>"*pa)<Esc>

を .vimrc に書く。

markdown の preview

github でのレンダリング

joeyespo/grip

grip

ハイパーリンクをいい感じに Reference 形式にする

seth-brown/formd

このツールは実際に使って試したわけではないのだが、もし reference 形式にしたいときのためにメモ。

textlint

文章の lint ツール。

TBD


hnishi

hnishi のブログ

ソフトウェアエンジニアです。
誰かの役に立つかもしれないと思って、調べたこと、勉強したこと、躓いた箇所などを記事にしています。
問い合わせはこちらからお願いします。