由于习惯了vim的轻巧,不想在安装额外的tex编辑器,就按照自己的使用习惯对vim进行了相应的配置。
1. vim-latex插件的安装
- 下载地址:http://sourceforge.net/projects/vim-latex/files/
- 将下载的vim-latex-1.8.23-20120125.768-git8b62284.tar.gz直接解压到~/.vim中
2 vim配置
(1)vimrc中与latex相关的配置
- 405 ” vim latex suite
- 406 ” http://vim–latex.sourceforge.net/index.php?subject=download&title=Download
- 407 ” 使grep总是生成文件名
- 408 set grepprg=grep\ -nH\ $*
- 409 ” vim默认把空的tex文件设为plaintex而不是tex,导致latex–suite不被加载
- 410 let g:tex_flavor=‘latex’
- 411 set iskeyword+=:
- 412 autocmd BufEnter *.tex set sw=2
- 413
(2)修改~/.vim/ftplugin/latex-suite/texrc,以便使用xelatex来编译tex文件,用evince预览pdf
- 86 if has(‘macunix’)
- 87 TexLet g:Tex_DefaultTargetFormat = ‘pdf’
- 88 else
- 89 TexLet g:Tex_DefaultTargetFormat = ‘pdf’ /*都生成pdf*/
- 90 endif
- 115 TexLet g:Tex_CompileRule_pdf = ‘xelatex -interaction=nonstopmode $*’ /*用xelatex进行编译*/
- 145 TexLet g:Tex_ViewRule_pdf = ‘evince’ /*用evince来预览生成的pdf*/
(1)常用的快捷键
Ctrl-J,F5, F7,F9,Shift-F5,Shift-F7,/ll (compile快捷键),/lv(view pdf 快捷键),/ls,Ctrl-X Ctrl-K(根据字典补全) 等。
(2)写出/cite{ 后按 F9 无反应,没有给出交叉引用,原因在于vim中的Python接口对latex-suite来说有些问题,将其禁用即可。
只需要将 ~/.vim/ftplugin/latex-suite/texrc 中默认的打开~/.vim/ftplugin/latex-suite/texrc,将
TexLet g:Tex_UsePython = 1
改为
TexLet g:Tex_UsePython = 0
就行了!
(3) 为了能够正向搜索,应设定好参数并使用/ll编译,然而当工作目录下有makefile时,/ll并非执行设定的编译命令,而是执行makefile,于是导致无法正向搜索。
只要禁用makefile即可,同样~/.vim/ftplugin/latex-suite/texrc中
TexLet g:Tex_UseMakefile = 0
(4) 正向搜索设置,在 ~/.vimrc 中指定
let g:Tex_CompileRule_dvi=’latex -src-specials -interaction=nonstopmode $*’ 说明上说还要设定 :TCTarget dvi ,可是没有设也行,反而把这句话写在上面文件中时运行vi会提示错误,但是在vi中执行该命令却可以,反正能用就不管它了。设定好了以后需重新编译tex文件(用/ll),然后/ls可以搜索并预览。
(5) 为了方便,自己也做了一些设置,包括快捷键,在 ~/.vim/ftplugin/tex.vim 中:
map <F4> <ESC>:q<CR> “F4关闭窗口(buffer)
map <F2> <ESC>:w<CR>/ll “F2保存并编译
imap <F2> <ESC>:w<CR>/ll
map <F3> <ESC>/lv “F3查看
imap <F3> <ESC>/lv
nmap <Tab> <C-j> “用Tab键来代替Ctrl-j跳转,方便多了
imap <Tab> <C-j>
vmap <Tab> <C-j>
set keywordprg=:help “按K键查找光标处单词的帮助,默认是man
cmap xxx !make
set iskeyword+=.,_ “便于fig.xx,prl101_12345等形式的搜索补全,否则默认情况下不把fig.xx当成一个词,而是当成fig和xx两个次,中间的“.”被当做词的分隔符了。
(6) 临时取消快捷键定义,比如你想输入双引号,可是一打出”就自动变成“。
那么要怎么禁止自动替换,直接输出”呢?
记住 <Ctrl-v> 即可!
<Ctrl-v>” 得到 “
SS<Ctrl-v>S 得到 SSS
~<Ctrl-v>~ 得到 ~~