Keywords: Mac OS X; vim; LaTex; macvim;

也许你已经习惯了用 linux 环境中用 apt-get 或者 yum 来进行软件安装及管理。

比如在 Ternimal 中输入

 sudo apt-get install texlive-full
sudo apt-get install vim 

,然后去喝杯咖啡,让电脑飞一会就完工了。然后安装下 vim latex suite

 sudo apt-get install vim-latexsuite 

或者根据 vim-latex (链接) 的 documentation 一步步手动配置后, 就可以在 Terminal 中用 vim 来编辑 *.tex 文件了。 这是一件很酷的事情,对我来说。不用打开一个 local compiler 窗口, 而且有很多快捷键(特别是在 markup language 中插入 declaration or environment 和 vim 的搜索功能),很大的提高了工作效率 (这在以后的的博文中详述)。

其实在 Mac OS X 中也有类似的 software repository, 比如 Macport, Fink, Homebrew。由于个人喜好缘故, 这里只介绍 Homebrew。

安装

  • 第一步安装Homebrew (链接), 相当简单,打开 Terminal, 输入
     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

    , 再上个厕所,然后就安装好了, 默认安装的 --prefix=/usr/local/。随便安装个什么测试下, 比如输入

     brew install wget 
  • 第二步安装 LaTeX。Homebrew 会建议你手动安装 LaTeX, 所以请在进行如下操作前 安装好 MacTex (链接), 这里只是 click and click 的节奏, 你一定会,不需要多说明。安装完成后你可以看到一些 GUI, 比如 Texshop 之类的东西,但是我不需要它, 我需要的只是 LaTeX 或者 TeX 的 binary 供 vim 使用。你可以逐个点开体验下,这样更有助于加深对 vim 编辑的快感。理论上这时你已经可以使用强大的 TeX 进行文本编辑了。
  • 第三步,安装 macvim。
     brew search macvim
    brew install macvim 

    。不出意外,Homebrew 在这个时候会提示你安装下 Xcode, 你可以在 Apple Store 中下载安装先 (仍然是 click and click 节奏)。重新运行以上命令后就可以了。在 Terminal 中输入

     vim
    :ver 

    检查下是否安装正常。

  • 第四步安装 vim latex-suite ftplugin (链接) 。 为什么 brew repository 里面没有 vim-latex 包?

  1. 下载 latex-suite package: (link)
  2.             然后在 terminal 中执行
     mv /YOUR/DOWNLOAD/PATH/vim-latex-1.xx.tar.gz  ~/.vim/
    cd ~/.vim/
    tar -xvf vim-latex-1.xx.tar.gz --strip 1
    rm vim-latex-1.xx.tar.gz 
  3. 修改 vimrc 文件 (link), 主要确认有这么几行
     filetype plugin on
    set shellslash
    let g:tex_flavor='latex' 

    关于怎么写属于自己的 vimrc 配置文件,请移驾另一篇博文

  4. 安装 latex-suite 的帮助文件,打开 vim ,然后在vim的环境中输入
     :helptags ~/.vim/doc 

    然后 输入

     :help latex-suite.txt 

    验证下是否能看到帮助文件。

  5. 打开一个 *.tex 文件,然后输入
     \ll 

    编译文件,输入

     \lv 

    来查看 pdf 文件。如果和不能运行,不是你安装错误,是需要配置 texrc (~/.vim/ftplugin/latex-suite/) 文件, 检查

     TexLet g:Tex_Flavor = 'latex'
    TexLet g:Tex_DefaultTargetFormat = 'pdf'
    TexLet g:Tex_MultipleCompileFormats = 'dvi'
    TexLet g:Tex_ViewRule_pdf = 'open -a /Applications/Adobe\ Reader.app'
  6. 现在让 vim 再次飞一会吧。

  • 在 Mac OS X 系统中,不需要像在 linux 系统 (link) 中一样,进行中文字体配置,一些需要的中文,如楷体,宋体,仿宋,行楷,黑体。
     cd /usr/local/texlive/2015/texmf-dist/tex/latex/ctex/fontset/
    vim ctex-fontset-adobe.def
    vim ctex-fontset-ubuntu.def
    vim ctex-fontset-mac.def
    vim ctex-fontset-windowsnew.def
    vim ctex-fontset-windowsold.def
  • Bonus: vim 中写 latex 牛逼的快捷键

  1. ctrl-j :     jump to next place holder
  2. F5:            inset/wrap in environment
  3. shift-F5: change environment
  4. F9:             complete the reference and cite environment. For instance, \ref{pre<F9>
  5. ELI:           inset list
  6. EDE:         insert description
  7. ETE:          insert table
  8. EEQ:          insert equation
  9. SSE:           insert section
  10. EFI:            insert figure
  11. `/ :              insert \frac{}{}
  12. za:              fold / unfold
  13. \ll:              compile
  14. \lv:              view the compiled file

8 thoughts on “Mac OS X 中用 vim 编辑 LaTeX

  1. 不好意思,小白提问。第四部开始有点晕,四.2里
    mv latexSuite-1.5.tar.gz ~/.vim/
    tar -xf latexSuite-1.5.tar.gz && rm latexSuite-1.5.tar.gz
    这个是在terminal还是macvim呢?我好像得到都是错误。。
    还有,四.3的vimrc是啥?具体咋修改呢?
    谢谢。。

    Like

    1. 谢谢你的提问。
      1. 要明确 VIM 是能编辑所有文本的;这里一些繁琐的配置(主要)是 希望更快的处理一些 LaTeX 的 marcos;
      2. 要明确 VIM 在 terminal 中打开和图形界面打开的区别, (我默认都是在 terminal 中打开的);
      3. VIM 中的命令输入都是 以 semicolon(:) 开始的, 比如 :ver, :help, :w 等; 而 terminal 中命令是没有 semicolon 的, 比如 mv, tar, ls, pwd;
      4. vimrc 是VIM 的配置文件(你应该有自己的版本), 这个文件的位于 你主文件目录下, 比如你可以通过在 terminal 中输入 vim /Users/zhou/.vimrc 来进行编辑(其中我默认系统用户名为zhou);
      5. 回到你具体的问题: 首先在你当前路径下下载 latexSuite 包 (https://drive.google.com/open?id=1DHxe8I55S5rf01b0Kz7Eyzbe8wKgfmxK); 你要确认你下的版本,名称及下载路径, 比如以当前链接为例
      你首先需要去到下载路径(如果你是网页下载的, 那么它一般在 Downloads 路径下)那么你需要在 terminal 中
      mv /Users/zhou/Downloads/vim-latex-1.10.tar.gz /Users/zhou/.vim/
      cd /Users/zhou/.vim/
      tar -xvf vim-latex-1.10.tar.gz
      rm vim-latex-1.10.tar.gz

      Like

      1. 没想到真得到您的回复了!太感谢了!
        晚上回来又研究了一会,有些进步。但也遇到一些问题:
        先是运行了这4行:

        mv /Users/tongzhou/vim/vim-latex-1.10.0.tar.gz /Users/tongzhou/.vim/
        cd /Users/tongzhou/.vim/
        tar -xvf vim-latex-1.10.0.tar.gz
        rm vim-latex-1.10.0.tar.gz

        运行完第1行之后,这个gz文件就消失了,没有新文件产生,也没有出现 .vim的文件夹。。这样应该不对吧?
        但是后面3行没有提示错误。

        问题出现在这里:
        :helptags ~/.vim/doc
        提示错误:Not a directory。
        所以我猜应该是mv那里创建.vim的文件夹不成功?

        Like

  2. 1. 在 Unix 和 Linux 中, 有一种文件叫做 “隐藏文件(夹)”,就是文件(夹)以 dot 开始文件(夹)命名, 比如 .vim; 这些文件(夹)你在用 Finder 打开后是不可见的;
    2. mv 表示 move, 所以在执行这个命令后, 压缩文件 tar.gz 就被移动到 指定文件夹下 (在当前例子下, 位于 .vim 文件夹下了); 你可以通过
    cd /Users/tongzhou/.vim
    ls -al
    来查看它是否在 .vim 文件夹下面(但是你已经执行了 rm …… 所以已经无法看到它了);
    3. tar -xvf 表示对压缩文件夹的解压(就是 unrar 一样), 解压后的文件也都位于 /Users/tongzhou/.vim 下面, 解压后确认是否有以下文件夹存在
    doc
    compiler
    ftplugin
    indent
    plugin 等等
    4. 按照你的说法“解压没有错误提示”, 那么以上文件夹都应该存在 (请仔细确认这一步);
    5. 回到最后出现问题的地方, 你要再次明确 terminal 命令和 vim 命令的区别;
    :helptags /Users/tongzhou/.vim/doc
    是 vim 的命令, 也就是说你要先在 terminal 中打开 vim, 然后在 vim 中输入以上命名(包含semicolon :)
    6. 我在写博客的时候是假定大家都有一些 *nix 经验的; 你应该是抱着 Windows 的思维在使用 MacOS 的吧; 所以你在跟随一些命令的时候感觉会没有 intuitive (当然主要是我写的不好);刚开始的时候可能都是这样的,慢慢习惯后好很多

    Like

Leave a comment