|
|
@ -1,5 +1,5 @@ |
|
|
|
# Vim Workshop |
|
|
|
## Eine kleine Einführung in den Editor Vim |
|
|
|
# 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. |
|
|
@ -30,3 +30,67 @@ curl --create-dirs -o ~/.config/nvim/init.vim https://git.schneider-hosting.de/u |
|
|
|
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](https://github.com/VundleVim/Vundle.vim) |
|
|
|
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](https://github.com/scrooloose/nerdcommenter) |
|
|
|
Bietet die passende Kommentarsynntax für diverse Sprachen. |
|
|
|
|
|
|
|
Im Normal Mode kann per `<leader> c <space>` ein Kommentar erzeugt, oder |
|
|
|
entfernt werden. |
|
|
|
|
|
|
|
### [fugitive.vim](https://github.com/tpope/vim-fugitive) |
|
|
|
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](https://github.com/Shougo/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 <TAB> zwischen den |
|
|
|
Vorschlägen gewechselt werden. |
|
|
|
|
|
|
|
### [Neosnippet](https://github.com/Shougo/neosnippet.vim) |
|
|
|
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](https://github.com/easymotion/vim-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](https://github.com/junegunn/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](https://github.com/w0rp/ale) |
|
|
|
Lintengine für diverse Linter und Sprachen |