Ⅰ. 插件描述
A modern vim plugin for editing LaTeX files.Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'lervag/vimtex'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'lervag/vimtex'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'lervag/vimtex'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/lervag/vimtex
Ⅳ. 文档说明
# vimtex
vimtex is a Vim plugin that provides support for writing
LaTeX documents. It is based on
LaTeX-Box and it shares a
similar goal: to provide a simple and lightweight LaTeX plugin. It has been
rewritten from scratch to provide a more modern and modular code base. See
here for some more comments on the difference between vimtex
and other LaTeX plugins for Vim.
Table of contents
Installation
If you use vim-plug, then add the
following line to your vimrc
file:
Plug 'lervag/vimtex'
Or use some other plugin manager:
If you use the new package feature in Vim, please note the following:
- Make sure to read and understand the package feature:
:help package
! - Use the
/pack/foo/start
subdirectory to make sure the filetype plugin is automatically loaded for thetex
filetypes. - Helptags are not generated automatically. Run
:helptags
to generate them. - Please note that by default Vim puts custom
/start/
plugin directories at the end of the&runtimepath
. This means the built in filetype plugin is loaded, which prevents Vimtex from loading. See #1413 for two suggested solutions to this. To see which scripts are loaded and in which order, use:scriptnames
. - For more information on how to use the Vim native package solution, see here and here.
Quick Start
The following is a simple guide for how to use vimtex. It only displays the
most basic features. Users are strongly encouraged to read or at least skim
through the documentation to learn about the different features and
possibilities provided by vimtex (see :h vimtex
).
Note: Vimtex supports neovim; see the [related wiki
section](https://github.com/lervag/vimtex/wiki/introduction#neovim) or `:h
vimtex-faq-neovim`.
Features
Below is a list of features offered by vimtex. The features are accessible as
both commands and mappings. The mappings generally start with<localleader>l
, but if desired one can disable default mappings to define
custom mappings. All features are enabled by default, but each feature may be
disabled if desired.
- Document compilation with
latexmk,
LaTeX log parsing for quickfix entries using
- internal method
- pplatex
- Compilation of selected part of document
Support for several PDF viewers with forward search
Completion of
- citations
- labels
- commands
- file names for figures, input/include, includepdf, includestandalone
- glossary entries
- package and documentclass names based on available
.sty
and.cls
files
Document navigation through
- table of content
- table of labels
proper settings for
'include'
,'includexpr'
,'suffixesadd'
and'define'
, which among other things- allow
:h include-search
and:h definition-search
- give enhanced
gf
command
- allow
- Easy access to (online) documentation of packages
- Word count (through
texcount
) Motions
- Move between section boundaries with
[[
,[]
,][
, and]]
- Move between environment boundaries with
[m
,[M
,]m
, and]M
- Move between comment boundaries with
[*
and]*
- Move between matching delimiters with
%
- Move between section boundaries with
Text objects
ic ac
Commandsid ad
Delimitersie ae
LaTeX environmentsi$ a$
Inline math structuresiP aP
Sections
Other mappings
- Delete the surrounding command, environment or delimiter with
dsc
/dse
/ds$
/dsd
- Change the surrounding command, environment or delimiter with
csc
/cse
/cs$
/csd
- Toggle starred command or environment with
tsc
/tse
- Toggle between e.g.
()
and\left(\right)
withtsd
- Close the current environment/delimiter in insert mode with
]]
- Insert new command with
<F7>
- Convenient insert mode mappings for faster typing of e.g. maths
- Delete the surrounding command, environment or delimiter with
- Improved folding (
:h 'foldexpr'
) - Improved indentation (
:h 'indentexpr'
) Improved syntax highlighting
- Highlight matching delimiters
- Support for
biblatex
/natbib
package - Support for
cleveref
package - Support for
listings
package - Nested syntax highlighting (
minted
,dot2tex
,lualatex
,
gnuplottex
,asymptote
,pythontex
)
Support for multi-file project packages
See the documentation for a thorough introduction to vimtex (e.g. :h vimtex
).
Other relevant plugins
Even though vimtex provides a lot of nice features for working with LaTeX
documents, there are several features that are better served by other,
dedicated plugins. For a more detailed listing of these, please see [`:help
vimtex-non-features`](doc/vimtex.txt#L156).
Linting and syntax checking
Snippets and templates
Tag navigation
Alternatives
The following are some alternative LaTeX plugins for Vim:
- LaTeX-Box
vimtex currently has most of the features of LaTeX-Box, as well as
some additional ones. See here for a relatively complete list
of features.One particular feature that LaTeX-Box has but vimtex misses, is the ability
to do single-shot compilation _with callback_. This functionality was
removed because it adds a lot of complexity for relatively little gain
(IMHO).Note: LaTeX-Box is included with
vim-polyglot. Some users are not
quite aware of this and end up trying vimtex with LaTeX-Box enabled. This
will not work --- please disable LaTeX-Box first! The main difference between vimtex and LaTeX-Suite (aka vim-latex) is
probably that vimtex does not try to implement a full fledged IDE for LaTeX
inside Vim. E.g.:- vimtex does not provide a full snippet feature, because this is better
handled by UltiSnips or
neosnippet or similar snippet
engines.- vimtex builds upon Vim principles: It provides text objects for
environments, inline math, it provides motions for sections and
paragraphs
- vimtex uses
latexmk
,latexrun
,tectonic
orarara
for compilation
with a callback feature to get instant feedback on compilation errors - vimtex is very modular: if you don't like a feature, you can turn it off.
- vimtex does not provide a full snippet feature, because this is better
- AutomaticTexPlugin
- vim-latex-live-preview
For more alternatives and more information and discussions regarding LaTeX
plugins for Vim, see:
- [What are the differences between LaTeX
plugins](http://vi.stackexchange.com/questions/2047/what-are-the-differences-between-latex-plugins) - [List of LaTeX editors (not only
Vim)](https://tex.stackexchange.com/questions/339/latex-editors-ides)