从一开始折腾sublime text, 到维护这个网站不得不远程用sftp,到后来因为权限的问题决定在服务器端直接使用vim,终究还是走上了vim这条道路。 用vim写python,rust都没什么好说的,一个youcompleteme + ultrasnips几乎就搞定一切了。问题在于latex,如何能用vim写出很好的latex文档呢? 话说latex这个东东,实时预览最好还是有的,虽然一直都有传说牛人从来不用预览,直接裸写代码xxx页,然后latex一次编译通过完美格式,但是现实一点的话,有一个实时预览还是比统一编码完毕然后compile一个一个找错要高效的多。 vim的实时预览有一个插件,叫做vim-latex-preview, 这个东东是纯vimscript写的,所以安装起来很简单,按照作者写的文档设置之后,在vimrc里面加入:
autocmd Filetype tex setl updatetime=1 let g:livepreview_previewer = 'evince'用
brew install evince
安装了传说和这个插件配合最好的evince,兴冲冲的在vim 里面输入:LLPStartPreview
然后果然pdf出现了!然后我开始在vim里面修改latex源代码,再然后。。。
没有然后了。evince里面的pdf文件纹丝不动!
我很好奇,然后reload的了一下,发现pdf改变了。。。看来是evince从linux挪到了osx下,没有了inotify的机制,所以auto reload失效,必须要手工的reload,这么看来okular肯定也是死路一条,看文档里面提到了zathura,于是我也找到了homebrew的repository,安装zathura,发现黑屏。。。pdf都显示不出来了。
最后不得不实验 osx自带的preview和skim,这两个倒是没有问题,但是preview的问题是,如果失去了焦点就不会更新,必须把鼠标移过去,才会更新编译刚才打的内容,万恶的mac的电源管理,这一点后台的电都要省。。。
skim倒是很完美,但是update time必须设置为200左右才可以,设置的太快skim就报错了,还是不能适应这么高的节奏啊,怎么办呢?难道在osx下面就没法很完美的使用这个插件了?
我百无聊赖的打开了mactex的子目录,猛然发现了texshop,这个东东不也是一个pdf 浏览器么?实验一下如何:
于是
autocmd Filetype tex setl updatetime=1
let g:livepreview_previewer = 'open -a texshop'
成功预览! texshop完美的适应了高频率的pdf文件刷新,但是问题是……刷新一次之后,texshop就把焦点取走了,再想打字就要切换回terminal……于是继续stack overflow,发现这一行命令:
defaults write TeXShop BringPdfFrontOnAutomaticUpdate NO
可以完美的解决每次texshop刷新之后自动获得焦点的问题,于是,bingo!以后就可以用vimtex+vim-latex-live-preview来写文章了。
选自:https://www.scislab.com/zh-hans/blog/yong-vimlai-xie-latexwen-dang/?utm_source=tuicool&utm_medium=referral
发表评论 取消回复