
Vim上でリアルタイムにMarkdownをプレビューするプラグインを作った
CRANK
VimでMarkdownを書くために様々なプラグインが存在しています。その中でも私は、preview-markdown.vimを使用していました。このプラグインは、Vim上でMarkdownを表示することができる、とても便利なプラグインです。ただ、リアルタイムプレビューやカーソル追従の機能が欲しくなってきました。いい機会なので、Vim script入門も兼ねて自作Vim Pluginに挑戦しました。本記事では、初めてのVim scriptで作成した自作Plugin及び使用したVim Scriptの機能について紹介したいと思います。作ったやつ readerを使用しています。 let s:tmp = tempname() . '.md' call writefile(getline(1, "$"), s:tmp) let s:option = { \ 'vertical': 1, \ 'exit_cb': function('s:remove_tmp', [s:tmp]), \ 'term_finish': 'open', \ 'term_opencmd': 'vnew b %d', \ 'term_kill': 'kill', \ } let s:prev_buf_nr = term_start('/bin/sh', s:option) call term_sendkeys(s:prev_buf_nr, "export PAGER=\"less -R\" \<CR>") let glow_cmd = printf("glow %s -p \<CR>", s:tmp) call term_sendkeys(s:prev_buf_nr, glow_cmd) 上記を関数化して実行す…