Vim Latex
![](/file/9d11000d16f29988389bc.gif)
⚡ ALL INFORMATION CLICK HERE 👈🏻👈🏻👈🏻
Vim Latex
By Size
Enterprise
Teams
Compare all
By Solution
CI/CD & Automation
DevOps
DevSecOps
Case Studies
Customer Stories
Resources
In this repository
All GitHub
↵
In this repository
All GitHub
↵
In this organization
All GitHub
↵
In this repository
All GitHub
↵
vim-latex
/
vim-latex
Public
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
thedoctar
and
gerw
Add nestable environments
Failed to load latest commit information.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI.
Learn more .
If nothing happens, download GitHub Desktop and try again.
If nothing happens, download GitHub Desktop and try again.
If nothing happens, download Xcode and try again.
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
This vim plugin provides a rich tool of features for editing latex files.
For further descriptions, we refer to
the website .
There is also a user manual
and a beginner's tutorial .
We recommend the installation via a plugin manager such as pathogen or Vundle .
Instructions for manual installation is documented at the website .
Recommended settings after installation can be found in Section 1 of the manual.
As already mentioned, the manual can be found here .
After installation, you will also have a rich in-vim documentation, see :help latex-suite .
Main Page
All Pages
Community
Interactive Maps
Main Page
All Pages
Community
Interactive Maps
Categories :
VimTip
LaTeX
Add category
Community content is available under CC-BY-SA unless otherwise noted.
Explore properties
Fandom
Cortex RPG
Muthead
Futhead
Fanatical
Follow Us
Overview
What is Fandom?
About
Careers
Press
Contact
Terms of Use
Privacy Policy
Global Sitemap
Local Sitemap
Community
Community Central
Support
Help
Do Not Sell My Info
Advertise
Media Kit
Fandomatic
Contact
Fandom Apps
Take your favorite fandoms with you and never miss a beat.
Vim Tips Wiki is a FANDOM Lifestyle Community.
created November 28, 2011 · complexity basic · author Wuzzeb · version 7.0
When editing LaTeX files from Vim, you want to be able to compile latex, retrieve a list of errors, step through errors, etc. This tip explains the different options. They all work with the quickfix feature of Vim ( :help quickfix ), so before using this tip you need to be familiar with the basics of quickfix operation.
The Vim-LaTeX plugin sets up make, makeprog, and errorformat for compiling single latex files on any system. See the vim-latex documentation for more details about compiling. The vim-latex compilation has several limitations on large multi-document projects which include figures, plots, etc where there are more steps to building than just running pdflatex. This makes building using the vim-latex provided features somewhat awkward.
If you want to automatically compile and refresh xdvi whenever you write the current buffer, you can add the following code into your tex.vim ftplugin.
Note that Vim-LaTeX should be downloaded from its web page . The version at script#475 is outdated and will not be updated.
The AutomaticLaTeX Plugin has a built-in solution for compiling LaTeX files when they are changed (using CursorHold and CursorHoldI autcommand groups). Compiles documents in the background, and shows a progress bar in the Vim status line. It also rewrites the log file into a Vim readable form and has options to filter errors, warnings and info messages in the QuickFix window. It also has :MakeLatex command which builds the document and runs TeX's friends when necessary. Additionally, it includes script#3109 to provide interface to Latexmk .
This plugin works under Linux and MacOs and for best performance requires a recent version of Vim (7.3.468) with Python interface. The plugin has a very rich completion , which makes writing LaTeX files much faster and easier. For a long list of features see the web page [1] , online documentation there are also some videos which advertise some nice features.
Automatic LaTeX Plugin and Vim-LaTeX are fully flagged plugins, if you prefer a smaller solutions there are also these plugins available:
There are also other LaTeX plugins which do not provide interface for compilation"
Rubber ( sudo apt-get install rubber ) is a wonderful tool for compiling latex files. It knows how many times to compile, knows to run bibtex, filters error messages and warnings (so you can ignore overfull hboxes until you want to see them), and so on. Rubber combined with make is a great fit for Vim's quickfix.
First, create a generic makefile for compiling latex using rubber and place it in some global location (I use ~/academic/tools/latex.mk ).
Edit to your taste. In particular, you might consider updating the clean to not remove all pdfs (if you have figures in pdfs) perhaps using rubber --clean (see rubber's man page). Other changes include ignoring certain warnings or passing other options to rubber (see the man page). Also, you might add a tags target which runs ctags with the correct options (see tag-list documentation for ctags arguments).
Now in your tex.vim ftplugin add the following lines:
If the current directory does not have a Makefile, it sets makeprog to compile using the generic makefile. This works great on single-file latex files where a makefile is overkill.
If you have a multi-file, complicated build project, you can create a custom makefile for the project. Mine normally start out like:
and from here you can add more targets, creating figures, etc. Anything make can do, you can insert it here.
I strongly suggest you use one of the above options, but it is possible to set makeprg and errorformat directly and use the built in tex compiler.
While it is possible to grep the output to filter the output from pdflatex, using rubber is a much better option since it knows all about filtering and compiling more than once.
In the #Manual setup section, what's wrong with the default makeprg and errorformat set up by the "compiler tex" command? This section should probably go first to show what Vim offers out-of-the-box, then explain what is wrong with it, THEN present the alternatives. -- Fritzophrenic 21:02, June 15, 2012 (UTC)
Vimways
About
Choose an edition
2019
2018
© 2018-2019 All Rights Reserved.
GitHub
RSS
Twitter
About
Choose an edition
2019
2018
Latex is a text-based description of document structure. Basic
text-formatting is augmented with a number of packages enabling mores
specific behaviour. Latex has become a standard in publishing in many
fields. But its use is by no means restricted to that. I use Latex for
keeping notes, creating presentations and any other kind of formatting
where plain-text is not quite enough.
Search for Latex editors and you will find a plethora of Latex specific
editors: TexStudio, TexWorks, Lyx and many more. You need look no
further than Vim (which is often omitted for some reason). Latex is a
plain-text format, which automatically makes it well suited for Vim.
I’ll discuss plugins (which I highly recommend) later, but it is
perfectly possible to write Latex in vanilla vim.
You don’t really need any plugins to write Latex in Vim. Tex highlighting is
included. Spell check is important and should be set up, but works
without any plugins (I have mine enable with an autocommand when I open a Tex
file). Vim is perfectly usable for Latex just like this. There are a couple
other built-in features that I think work well in a setup like this: completion
and the :make command.
I regularly find myself using completion when writing Latex.
Most commands I use, I use more than once per document. Keyword
completion is a good-enough solution to reducing the amount of typing
required because getting the first few characters of a command (or, a
really long word) is enough to make the completion list short and fast
to navigate. Even better, completion is powerful enough to
handle reference completion. I typically keep my .bib file(s) open in
other buffers and will search these buffers when it looks for a
completion. Hey presto, there’s a working bibliography completion!
Exiting Vim to run pdflatex or your favorite compiler isn’t very fun
or efficient. Running something like :!pdflatex % is a bit better, but
if you can write a simple makefile, Vim can do better. Then you can use
the :make which means you can link the compiler output with a quickfix
list. If you aren’t going to use a plugin, a simple make file is
probably best. But, while we’re on the topic, this is where plugins
start to help.
There are a few obviously missing components. Vim only supports Tex
highlighting out-of-the-box. Completion is good, but not on the level
that TexStudio or TexWorks exist at. Creating a makefile for every small
Latex project is over the top. There are a few rough ends integrating
Vim commands into the Latex ecosystem.
I have used two plugins extensively. The first is Vim-LaTeX ,
which provides extensive functionality but doesn’t quite mesh
into the Vim ecosystem as well as it could. I moved away from it because
of its clunky integration with modern package managers and frustrating auto-expansions.
But, do not get me wrong: Vim-LaTeX is a very good Latex plugin.
I started using vimtex . vimtex provides the
functionality within Vim-LaTeX which the authors see as vim-like. vimtex
provides Latex-specific text-objects, such as within Latex environments
and delegates much of the Vim-LaTeX functionality to different plugins.
Now, this article is not a comparison of vim-latex plugins. But I will
talk about the features they provide; mostly from the perspective of a
vimtex user.
The first command I learned in both is how to compile. I map this to
ll . Compiling pops up a quickfix window that can be
navigated to jump to the faulty source line (well, if you trust the
Latex compiler to give you an error on the right line, but that is
another topic). I have this window setup to open and close with
le (Latex errors). Opening a PDF-viewer to see the results should be
similarly easy. I have this mapped to lv (Latex view).
The section above deals with the overhead of a makefile for short documents.
But vim packages provide far more than this. The first is sensible completion.
A typical reason I hear for not to switch to Vim for Latex is “because the
autocomplete is not as good.” As discussed above, I usually find that
is plenty enough for Latex. But I’ve written enough Latex that I’m not usually
scrounging for commands. vimtex provides an omni-completion ( ) that
can intelligently suggest command completions.
Completion is often a headline feature — and rightly so. But
Latex plugins provide many other features. K links to the Latex
documentation when in a Latex document. The syntax highlighting is
better than the built-in documentation. Navigation commands, such as
[[ and ]] to jump between sections or ]m [m to jump between environments.
Vimtex introduces a few good commands: cse c hanges the
s urrounding e nvironment, for example if you want to change from
an itemize to an enumerate . In insert mode, ]] automatically
closes an unclosed environment (i.e. produces the corresponding
\end{X} command.
Vim-LaTeX has some good (and some really bad!) auto expansions: typing
__ produces _{}<++> , which means you can type the
subscript you want and then press to jump outside of the
brackets. I liked some of this functionality so much I kept it when I
moved to vimtex. Similarly inspired by latex-suite, I map mma (using iabbrev to prevent words like “comma” expanding)
in insert mode to produce:
And have several similar mappings for other environments I regularly
use. This means I can type mma , enter the text I want, and press to jump to (and delete) the <++> character.
Typically, I split the screen vertically in two. One half contains Vim,
and the other half contains a PDF viewer with the document I’m writing.
Vim is an editor that works well with different lines. j , k , d ,
you name it, these commands each work on a line-by-line basis. With that
in mind, I highly suggest that you manually break each line (i.e. not
using linebreak , but manually pressing at the end of each
line). Why? Because that means all of these commands actually work
well and you’ll find yourself editing text in a more Vim-like way. If
each paragraph is a single line of text as far as Vim is concerned,
these commands are seriously handicapped.
Beyond this, if you type a paragraph per line and use persistent undo, you will find your persistent undo files becoming huge .
Essentially, Vim stores your persistent undo information line-by-line: and it stores the whole line every time.
If you have lines thousands of characters long, you will find (like I did) that your persistent undo directory
uses all your hard disk space very quickly!
Of course, lots of documents are shared, and in my experience, people tend to prefer using a single line per paragraph,
so you may be stuck.
I’m not going to go into a huge amount of detail here, just some
personal preferences, focusing on vimtex. I like to set:
To turn on code folding for Tex files.
Avoids opening an empty .tex file only to have vimtex recognize it as plain Tex rather than Latex.
If you use ALE (or other linting environment supporting Latex),
I suggest you disable it for Latex. Many of these linting
environments can’t handle 100s of warnings efficiently,
and I find that Latex’s warning suites give lots of
false warnings.
If you are looking for a Latex editor, look no further, Vim is what you
are after. There are a million more ways to edit Latex in Vim than what
I’ve talked about here. I don’t have space (nor desire!) to reproduce
the documentation for vimtex or Vim-LaTeX, not to mention the other
Latex packages I haven’t tried. This article is certainly not a
substitute for the excellent documentation these packages have.
I have written 100,000 lines of Latex over the last four years using
this setup. I hope this sets you on your way to writing Latex in vim.
Sign up or log in to customize your list.
more stack exchange communities
company blog
The best answers are voted up and rise to the top
Stack Overflow for Teams
– Start collaborating and sharing organizational knowledge.
Create a free Team
Why Teams?
Asked
2 years, 10 months ago
Sorted by:
Reset to default
Highest score (default)
Date modified (newest first)
Date created (oldest first)
166 1 1 silver badge 6 6 bronze badges
TeX - LaTeX
Tour
Sexy Porno Hot Xxx
Sex Big Girl Big Girl Cock
Teen Double Penetration Compilation