Vim + LaTex Workflow mit Verwendung von Snippets

Dieser Beitrag ist inspiriert von den Beiträgen von Gilles Castel, welcher im Jahr 2022 verstorben ist! Seine Beiträge zum Thema findet man auf seinem Blog: https://castel.dev/.

Einführung

Was ist vim?

Die Oberfläche von vim.

Vim ist ein leistungsstarker, textbasierter Editor, der hauptsächlich zum Schreiben und Bearbeiten von Textdateien verwendet wird. Es arbeitet ohne grafische Benutzeroberfläche und basiert auf Tastaturbefehlen, wodurch es bei erfahrenen Nutzern sehr effizient sein kann.

Was ist LaTex?

LaTeX ist ein Textsatzsystem, das verwendet wird, um Dokumente, besonders wissenschaftliche Arbeiten, präzise und professionell zu formatieren. Es basiert auf einer Markup-Sprache, bei der man Text mit Befehlen versieht, um das Layout, mathematische Formeln und Strukturen wie Tabellen oder Abbildungen zu gestalten.

Wieso vim und LaTex kombinieren?

Vim und LaTeX zusammen mit Snippets zu nutzen, macht Sinn, weil es den Schreibprozess erheblich beschleunigt und effizienter gestaltet. Vim bietet eine schnelle, tastaturgesteuerte Bearbeitung, während LaTeX komplexe Layouts und mathematische Formeln ermöglicht. Durch Snippets lassen sich wiederkehrende LaTeX-Befehle oder Strukturen (z.B. Tabellen, Formeln) mit kurzen Tastenkombinationen einfügen, was die Produktivität steigert und Fehler reduziert. So wird das Erstellen von umfangreichen und formatierten Dokumenten deutlich erleichtert.

Schritt für Schritt Anleitung zum Workflow (Linux)

1. vim installieren

sudo apt update
sudo apt install vim

2. Vim-Plug installieren (Plugin Manager)

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

3. .vimrc anpassen

vim ~/.vimrc
" Basic Vim settings
syntax on
set number
set relativenumber
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set clipboard=unnamedplus

" Mapping für Speichern mit Strg+S
nnoremap <C-s> :w<CR>
inoremap <C-s> <Esc>:w<CR>i
vnoremap <C-s> <Esc>:w<CR>gv

" LaTeX-specific settings
let g:tex_flavor='latex'
filetype plugin indent on
set conceallevel=1
set concealcursor=n
let g:tex_conceal='abdmg'

" Vimtex Plugin for LaTeX
let g:vimtex_view_method='zathura'
let g:vimtex_compiler_method = 'latexmk'
let g:vimtex_quickfix_mode=0

call plug#begin('~/.vim/plugged')

" Vimtex for LaTeX editing
Plug 'lervag/vimtex'

" Surround plugin for working with environments
Plug 'tpope/vim-surround'

" Syntax highlighting and auto-completion
" Plug 'neoclide/coc.nvim', {'branch': 'release'}

" UltiSnips
Plug 'sirver/ultisnips'
Plug 'honza/vim-snippets'

call plug#end()

" UltiSnips configuration
let g:UltiSnipsExpandTrigger = '<tab>'  " Tab to expand snippets
let g:UltiSnipsJumpForwardTrigger = '<tab>'  " Tab to jump forward through placeholders
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'  " Shift-Tab to jump backward


" UltiSnips such paths angeben
let g:UltiSnipsSnippetDirectories=["~/.vim/my_snippets"]

4. Plugins installieren

Starte Vim und installiere die Plugins mit dem Befehl:

:PlugInstall

5. Latex-Pakete installieren

sudo apt install texlive-full zathura

6. Snippets einrichten

mkdir -p ~/.vim/UltiSnips
vim ~/.vim/my_snippets/tex.snippets

In dieser Datei kannst du zum Beispiel folgendes Snippet hinzufügen:

snippet beg "begin{} / end{}" bA
\begin{$1}
    $0
\end{$1}
endsnippet

Eine Anleitung für die Erstellung von Snippets folgt in Zukunft!

Demonstration meines Workflows

… in Arbeit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert