Schneider
bc8fc4dfe1
|
6 years ago | |
---|---|---|
img | 6 years ago | |
.gitignore | 6 years ago | |
README.md | 6 years ago | |
how-to-vim.pdf | 6 years ago | |
how-to-vim.tex | 6 years ago | |
init.vim | 6 years ago |
README.md
Vim Workshop
Eine kleine Einführung in den Editor Vim
In diesem Repo befindet sich zum einen die Präsentation, zum anderen auch eine Beispiel-Configdatei, die ihr für den Anfang nutzen könnt. Diese Config setzt Neovim voraus.
Abhängigkeiten
Damit alle Plugins korrekt funktionieren, müssen noch weitere Voraussetzungen erfüllt sein.
Python
Python muss installiert sein (Auf den Rechnern im CIP-Pool der Fall). Darüber hinaus muss die Python-Erweiterung für Neovim per pip installiert werden.
pip install neovim
pip3 install neovim
Installation
Neovim erwartet die Datei im Verzeichnis ~/.config/nvim/
.
Folgendes Kommando lädt die Datei herunter und platziert sie im entsprechenden
Verzeichnis.
curl --create-dirs -o ~/.config/nvim/init.vim https://git.schneider-hosting.de/uni/vim-workshop/raw/branch/master/init.vim
Nun kann Neovim per nvim
gestartet werden und per :PlugInstall
werden die
Plugins installiert. Nach einem Neustart von nvim sind alle Plugins geladen und
einsatzbereit
Enthaltene Plugins
Mit der Config werden einige hilfreiche Plugins mitgeliefert. Schaut euch auf jeden Fall jedes einmal genauer an.
Vundle
Packagemanage für Vim.
Neue Plugins können über einen Eintrag in der init.vim installiert werden.
Schaut euch die Syntax bei den vorhandenen Beispielen an.
Nachdem ihr einen Eintrag der Form Plug 'url/repo' eingetragen und gespeichert habt, startet nvim neu, führt
:PlugInstall` aus und startet nvim nochmal neu.
Dann sind die Plugins einsatzbereit.
NERD Commenter
Bietet die passende Kommentarsynntax für diverse Sprachen.
Im Normal Mode kann per <leader> c <space>
ein Kommentar erzeugt, oder
entfernt werden.
fugitive.vim
Git-Integration.
Per :Gstatus
die geänderten Dateien anzeigen lassen. <Ctrl> n
lässt den
Cursor zur nächsten Datei springen. Mit -
wird die Datei zum Commit
hinzugefügt, per cc
die Commit-Message geöffnet. Wenn der Buffer gespeichert
wird, wird der Commit ausgeführt.
deoplete.nvim
Codeverfollständigungs-Engine
Dieses Plugin bietet das Gerüst, um Codeverfollständigung für andere Sprachen anzubieten. Grob gesagt stellt es das Fenster, in dem die Vorschläge angezeigt werden, zur Verfügung. Mithilfe der Einstellungen in der init.vim kann per zwischen den Vorschlägen gewechselt werden.
Neosnippet
Snippetunterstützung für Vim
Mit diesem Plugin werden Snippets, also kleine Templates, die erweitert werden,
unterstützt.
So kann z.B. in einem Markdown-Dokument aus linkurl
mit <ctrl> k
[link](http://)
werden.
Mit <ctrl> k
wird außerdem zwischen den Argumenten gewechselt.
easymotion
Noch schnellere Motions.
Einfach vor die normale Motion (z.B. w
) zweimal <leader>
drücken, also z.B.
<leader><leader>w
. Danach werden die nachfolgenden Worte mit Buchstaben
markiert. Mit diesen Buchstaben kann sofort zu dem jeweiligen Wort gesprungen
werden.
fzf
Extrem hilfreicher fuzzy file finder, auch auf der Kommandozeile.
Dieses Plugin installiert fzf, nicht nur in Vim. Proviert mal auf der
Kommandozeile <ctrl> t
aus. Oder nvim ~/.config/nvi**
und drückt dann
<TAB>
. Es werden alle gefundenen Dateien angezeigt. Per <ENTER>
übernehmt
ihr den Vorschlag in die Kommandozeile. Setzt euch auf jeden Fall mit dem
Programm auseinander, es kann die Produktivität ungemein steigern.
In nvim bietet es per <ctrl> p
die Dateisuche.
Asynchronous Lint Engine
Lintengine für diverse Linter und Sprachen