23. März 2020 , 20:01 Uhr
von Marc Eggert

Auf Linux- und Mac-Rechnern benötige ich recht oft einen Editor, um schnell diverse Dateien zu bearbeiten. I.d.R. Regel starte ich dafür allerdings nicht gleich eine ganze IDE, sondern nutze einen einfachen textbasierten Editor: Vim IMproved.
Wie bei jedem Stück Software, welches weniger auf Gewohnheiten und mehr auf Effizienz setzt, ist es auch bei VIM so, dass du als Neu-Einsteiger zunächst die grundsätzliche Bedienung von VIM kennenlernen solltest.
Darum geht es in diesem Beitrag allerdings nicht. Es geht um ein paar nützliche Erweiterungen, wie man den Editor gemäß der eigenen Ansprüche pimpen kann.

VIM mit Syntax-Highlighting und NerdTree (Verzeichnisbrowser)

.vimrc – Die Konfiguration

VIM wird über die lokale Dotfile „.vimrc“ konfiguriert und eingestellt. Hier können bereits per default einige Einstellungen angepasst werden (Tabstops, grundsätzliches syntax highlighting, Zeilennummern, etc.).
Wie bei allen Konfigurations-Dateien empfiehlt es sich natürlich auch hier, diese möglichst sauber zu halten und auch nur das zu behalten, was du auch benötigst. Dokumentation ist hier im Übrigen auch eine gute Idee – so dass man auch später noch weiß, was mit der entsprechenden Option in der Konfigurationsdatei erreicht werden sollte.

So sieht meine .vimrc-Datei momentan aus und ich nutze diese Konfiguration bereits seit einigen Jahren nahezu unmodifiziert (eigentlich kam nur vor ca. einem Jahr das Syntax-Highlighting für i3-Konfigurationsdateien dazu).

runtime! archlinux.vim if !has('nvim') set ttymouse=xterm2 endif syntax on filetype plugin on set number set ruler set tabstop=2 set shiftwidth=2 set encoding=utf-8 set laststatus=2 set clipboard=unnamedplus set ignorecase set smartcase " via Escape in den NORMAL-Mode zurück tnoremap <Esc> <C-\><C-n> " 256 colors set t_Co=256 " NERDTree via F6 ein- und ausschalten map <F6> :NERDTreeToggle<CR> " Plugins set nocompatible filetype off " runtimepath für Vundle und Initialisierung set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " Vundle verwaltet sich selbst: Plugin 'VundleVim/Vundle.vim' Plugin 'jiangmiao/auto-pairs' Plugin 'scrooloose/nerdtree' Plugin 'davidhalter/jedi-vim' Plugin 'jistr/vim-nerdtree-tabs' Plugin 'vim-syntastic/syntastic' Plugin 'ervandew/supertab' Plugin 'mboughaba/i3config.vim' Plugin 'morhetz/gruvbox' Plugin 'vim-scripts/twilight256.vim' Plugin 'itchyny/lightline.vim' Plugin 'MarcWeber/vim-addon-mw-utils' Plugin 'tomtom/tlib_vim' Plugin 'garbas/vim-snipmate' Bundle 'gabrielelana/vim-markdown' Plugin 'w0rp/ale' Plugin 'honza/vim-snippets' Plugin 'ryanoasis/vim-devicons' " Alle Plugins müssen vor dieser Zeile stehen! call vundle#end() filetype plugin indent on colorscheme twilight256 " Plugins-Konfiguration "devicons let g:webdevicons_enable = 1 let g:webdevicons_enable_nerdtree = 1 let g:webdevicons_enable_airline_statusline = 1 let g:webdevicons_enable_ctrlp = 1 "syntastic set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 "jedi-vim let g:jedi#completions_command = "<C-Tab>" set noshowmode set guifont=Source\ Code\ Pro\ 14 aug i3config_ft_detection au! au BufNewFile,BufRead ~/.config/i3/config set filetype=i3config aug end

Vundle – Plugins installieren und aktuell halten

Wenn du jetzt einfach die o.g. Konfigurationsdatei .vimrc so in dein Benutzerverzeichnis kopierst und VIM startest, wird VIM Fehlermeldungen ausgeben und nicht (alle) oben genannten Funktionen ausführen. Dies liegt daran, dass ein Großteil meiner Konfiguration aus Plugins besteht, die natürlich zunächst installiert werden müssen. Ich nutze hierzu den Plugin-Manager Vundle.

Vundle ist mit dem Kommando git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim recht schnell installiert und kann jetzt in VIM genutzt werden.

Startest Du jetzt nochmals VIM und gibst das Kommando :PluginInstall ein, wird die Installation der in .vimrc definierten Plugins ausgeführt.

Vundle installiert (linke Spalte)

In den folgenden Abschnitten stelle ich noch ein paar der Plugins vor, die ich in meiner Konfiguration nutze.

NERDTree

Mit NERDTree kann innerhalb von VIM eine Art Datei-Browser/-Explorer angezeigt werden. Nach einer normalen Installation steuerst du das Plugin über VIM-Kommandos. Um dies etwas weiter zu vereinfachen, habe ich den Toggle-Befehl in meiner o.g. Konfiguration auf die F6-Taste gelegt. So kann man den Verzeichnis-Baum via F6 einblenden, die entsprechende Datei auswählen und mit F6 auch wieder ausblenden. Funktioniert hervorragend und diese Funktion möchte ich auch nicht mehr missen. Insbesondere, wenn ich verschiedene Dateien in einem Verzeichnis hintereinander bearbeite(n muss).

(Web-)Devicons

Dieses Plugin sorgt dafür, dass beispielsweise im NERDTree die Dateien mit entsprechenden Icons dargestellt werden (siehe Screenshot oben).
ryanoasis/vim-devicons: https://github.com/ryanoasis/vim-devicons

w0rp/ale

Asynchronous Lint Engine: https://github.com/dense-analysis/ale
Ein „Aufpasser“: Das Plugin prüft automatisiert den Code im Editor auf Syntax- und Semantik-Fehler und gibt Vorschläge für besseren Codestyle und/oder zeigt direkt Syntax-Fehler an.
Optional kann auch eingestellt werden, dass Syntax-Fehler automatisch beim Speichern gefixt werden. Diese Option habe ich i.d.R. allerdings nicht aktiv (auch in anderen IDE nicht).

Schreibe einen Kommentar

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

*

*

*

Durch die Abgabe eines Kommentars akzeptieren sie die Datenschutzerklärung von net73.com