Vim可以算是我的主力文本编辑器,这东西上手之后是一个非常好用的工具。Vim适合写市面上大部分的开发语言和脚本,当然用来写Markdown也是非常合适的,或者说越来越合适了。
相比较其他五花八门的Markdown编辑器,他们的书写体验都不是很好,基本上就是一个记事本加上了预览功能,但是他们共同比Vim强的一点就是:支持实时预览。今天我就要为Vim加上实时预览的功能。
首先看一下效果,非常漂亮。感谢此开源项目的作者iamcco。
本文以Win10环境为例,Linux/Mac用户请根据实际情况调整其中的参数
第一部分:安装junegunn/vim-plug。
这是一个用来管理Vim插件的一个插件。直接把github上的项目名称配置进去,这个插件就可以通过一条命令直接下载项目,并且安装到Vim里。如果插件有更新,也可以通过一条命令直接更新全部插件,非常好用。我们用到的这个Markdown插件也是通过这个vim-plug来安装的。
首先需要安装git。点击这里获取下载连接。
vim-plug的安装过程也非常方便,主要分两步。
- 下载github项目,放置到Vim的插件目录。这一部分作者已经给出了一套自动脚本,如下:
Unix
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Windows (PowerShell)
md ~\vimfiles\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
$uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
"~\vimfiles\autoload\plug.vim"
)
)
需要注意的是Vim配置文件和安装路径要根据自己的实际情况来,Linux一般不需要多作更改,Win10的话可以把路径改为绝对路径或者相对路径。
-
修改配置文件。把下面的内容拷贝到Vim配置文件的最上面。Linux默认为用户根目录下的
.vimrc
,Win10默认为安装路径下的_vimrc
。” Plugins will be downloaded under the specified directory. call plug#begin(‘D:\ProgramFiles\Vim\vimfiles\plugged’)
” Declare the list of plugins. Plug ‘tpope/vim-sensible’ Plug ‘junegunn/seoul256.vim’
” List ends here. Plugins become visible to Vim after this call. call plug#end()
-
重启Vim,输入
:PlugInstall
,上文中配置的两个插件就会自动下载安装了。将来如果需要安装新的插件,只需要把Plug xxxx/xxxx
配置到Vim配置文件里并且重复执行:PlugInstall
就好了。
第二部分:安装iamcco/markdown-preview.vim.
基于vim-plug已经成功安装,我们这个插件的安装就会比较容易。只需要把下面两行配置放到vim配置文件里,然后重启Vim,运行:PlugInstall
即可。
Plug 'iamcco/mathjax-support-for-mkdp'
Plug 'iamcco/markdown-preview.vim'
插件安装完成后,再把下面四行配置放到vim配置文件中(可以放到最后面),用来映射快捷键:
nmap <silent> <F8> <Plug>MarkdownPreview " for normal mode
imap <silent> <F8> <Plug>MarkdownPreview " for insert mode
nmap <silent> <F9> <Plug>StopMarkdownPreview " for normal mode
imap <silent> <F9> <Plug>StopMarkdownPreview " for insert mode
这些配置的意思是说,在普通模式下(n)和插入模式下(i),按下F8键就可以实时预览,按下F9键就可以停止预览。
好了,安装完成,可以享受在Vim里编辑Markdown同时享受实时预览的快感了 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 吗?
才不会呢。。
这个Markdown-preview插件是需要Vim编辑器有Python2或者3的支持的。通过vim --version
可以查看你安装的Vim支持哪些功能,不支持哪些功能。
对于Linux版本来说,如果你的Vim不支持Python,请重新编译安装,我感觉这可能是唯一的解决办法。具体方法看这里(未亲测)Vim 8.0 版本安装方法及添加Python支持。
对于Windows版本来说,Windows用户是不太可能编译安装并且修改编译时参数的。Vim安装号之后,会提供两个版本,一个是非图形界面的Vim.exe,另一个是图形界面的gvim.exe。两个应用对Python的支持居然是不一样的(笑)。
具体是不是这样呢,还是通过vim --version
和gvim --version
去查看。
即便gvim是支持原生支持Python的,但是我安装Python的时候并没有安装在默认路径下,所以我们还需要在Vim配置文件里制定Python库的位置,比如我的:
set pythonthreedll=C:\Users\qiaod\AppData\Local\Programs\Python\Python36-32\python36.dll
修改完之后,再次重启Vim,输入:python print("Hello World!")
用来验证Python配置是否生效。如果已生效,打开md文件之后就可以按F8直接实时预览了。
这次是真行了。