Beliebte Code-Editoren, Teil 2

IntelliJ IDEA und Vim unter Linux

| Autor / Redakteur: Mirco Lang / Stephan Augsten

Die git-Integration erfolgt bei IntelliJ IDEA intuitiv über das Kontextmenü.
Die git-Integration erfolgt bei IntelliJ IDEA intuitiv über das Kontextmenü. (Bild: Lang / JetBrains)

IntelliJ IDEA und Vim gehören unter GNU/Linux zu den populärsten Development-Tools. Beide Werkzeuge haben ihre eigenen Vor- und Nachteile, wir sehen uns die Funktionen im Folgenden näher an.

Wer mit dem Programmieren anfängt, hat viele Entscheidungen zu treffen: Welche Sprache? Für welche Plattform? Und natürlich: Mit welchen Tools? Für Windows haben wir bereits zwei spannende Code-Editoren vorgestellt, die natürlich ebenso für Linux interessant sind – denn die meisten Entwicklungswerkzeuge sind Cross-Plattform-Software.

Atom und Visual Code Studio sind also auch für Linux-Distributionen erhältlich. Bei beiden Werkzeugen handelt es sich um waschechte Code-Editoren – mit verschwommenen Grenzen hin zur IDE, wenn man diese überhaupt noch ziehen kann oder will. Im Folgenden stellen wir zwei populäre Alternativen vor: IntelliJ IDEA ist bereits eine komplette IDE, vim wird mit genügend Erweiterungen zu einer.

IntelliJ IDEA ist vor allem deshalb in die Auswahl gekommen, weil es schlicht und ergreifend enorm populär ist, wie die Stack Overflow Survey 2018 deutlich aufzeigte. Der zweite Kandidat ist ein waschechter Texteditor: Vim ist bei Entwicklern ähnlich populär wie IntelliJ.

Im Bereich der Sysadmin- und DevOps-Tools ist Vim sogar die klare Nummer eins, weit vor dem sechstplatzierten IntelliJ. Beide Editoren haben Ihre Stärken. Vor allem Vim ist aber eines nicht: nämlich einsteigerfreundlich.

IntelliJ IDEA

IntelliJ IDEA stammt von der Firma NetBrains und existiert in einer Kauf- und einer Open-Source-Version. Der erste interessante Fakt rund um IntelliJ IDEA: Googles Android Studio basiert auf der Open-Source-Variante, die entsprechend die gleichen Hilfestellungen und Toolsammlungen enthält. Android-Entwickler sind also definitiv gut aufgehoben.

Das „J“ im Namen deutet schon an, dass es hier ursprünglich explizit um Java ging. Auch heute noch steht Java im Vordergrund, unterstützt werden standardmäßig Java, Groovy, Kotlin und XML/XSL. Über Erweiterungen lassen sich aber auch Anwendungen in Erlang, Go, Perl, Rust, Python und weiteren Sprachen entwickeln. Insgesamt stehen derzeit 3008 Plug-ins für die freie Community-Version bereit.

IntelliJ IDEA bietet viele nette kleine Details.
IntelliJ IDEA bietet viele nette kleine Details. (Bild: Lang / JetBrains)

Zu den integrierten IDEA-Features zählt unter anderem eine clevere Fehlerbehandlung: Sobald ein Fehler im Code entdeckt wird, meldet sich IDEA mit einem Glühlämpchen im Code und macht Verbesserungsvorschläge; beispielsweise bei einer vergessenen Shebang-Zeile in einem Shell-Skript.

Einrichtung

Die Installation verläuft unter Ubuntu für eine IDE verhältnismäßig kurz und bündig: Die idealerweise direkt bei JetBrains heruntergeladene Community-Version wird über den Befehl „tar -xzf {Paketname}“, Stand Februar 2019 also beispielsweise per …

tar -xzf idea-IC-2018.3.4.tar.gz

… entpackt. Anschließend wechseln Sie in das Verzeichnis und erstellen die Datei „idea.properties“, in der folgende Einträge zu setzen sind:

idea.system.path=~/IDEA-PFAD/system
idea.config.path=~/IDEA-PFAD/config

Wohin das Archiv entpackt wird, spielt dabei keine Rolle – und auch die Unterverzeichnisse „system“ und „config“ müssen nicht extra erstellt werden. Immer noch im selben Verzeichnis, starten Sie IDEA dann über „./bin/idea.sh“.

Was bislang etwas sperrig wirken mag, wendet sich nun zum Guten: Während der weiteren Einrichtung hilft ein Assistent bei der Individualisierung. So lassen sich zum Beispiel vorgeschlagene Plug-ins installieren sowie diverse Versionskontrollsysteme wie Git und GitHub.

Der Installer von IntelliJ IDEA integriert die IDE auch direkt in den Desktop.
Der Installer von IntelliJ IDEA integriert die IDE auch direkt in den Desktop. (Bild: Lang / JetBrains)

Hier empfiehlt es sich übrigens, keine weiteren Plug-ins zu installieren und sich auf ein Version Control System zu konzentrieren, also beispielsweise Git. IDEA ist standardmäßig bereits mit 34 Plug-ins und reichlich eigenen Funktionen ausgestattet, alles Weitere würde zunächst nur den Einstieg erschweren. Die Integration in den Desktop übernimmt das IDEA-Skript praktischerweise ebenfalls.

Die Oberfläche ist zunächst einigermaßen erschlagend. Wenn bereits ein entferntes Git-Repository besteht, ist es ein guter Einstieg, dies zu über „VCS/Checkout from Version Control/Git“ zu klonen. Geben Sie die URL ohne Nutzernamen an, die Login-Daten werden separat abgefragt und auf Wunsch dauerhaft gespeichert.

Sofern Sie GitHub nutzen, können Sie sich an dieser Stelle einloggen und das gewünschte Code Repository wählen. Nach dem Klonen finden Sie die Repo als Projekt in der Seitenleiste und können Ihre Dateien starten. So lässt sich am einfachsten ein erster Eindruck über die Arbeitsoberfläche gewinnen. Anschließend sollten Sie die Einstellungen aufrufen und sich hier die Bereiche „Keymap“ und „Plug-ins“ anschauen.

Die git-Integration erfolgt bei IntelliJ IDEA intuitiv über das Kontextmenü.
Die git-Integration erfolgt bei IntelliJ IDEA intuitiv über das Kontextmenü. (Bild: Lang / JetBrains)

Die Tastenkürzel geben den schnellsten Einblick, wie man in IDEA tatsächlich im Text selbst arbeitet. Das Erfreuliche hier: Es gibt Presets für beispielsweise Gnome, Eclipse und Visual Studio, sprich IntelliJ lässt sich relativ fix an die eigenen Bedürfnisse anpassen, wenn man bereits andere Systeme nutzt oder sich zum Beispiel den Arbeitskollegen diesbezüglich anpassen möchte. Alle Vorgaben lassen sich klonen und als eigene Profile speichern.

Problem erkannt, Lösung angeboten – so macht die Arbeit mit einer IDE Spaß.
Problem erkannt, Lösung angeboten – so macht die Arbeit mit einer IDE Spaß. (Bild: Lang / JetBrains)

Bei den „Plug-ins“„ lohnt es sich, zunächst die installierten Erweiterungen zu filtern. Das dürfte die schnellste Option sein, um sich einen Überblick über erweiterte Funktionen zu verschaffen. Weitere Plug-ins lassen sich auch direkt über die Oberfläche nachrüsten. Um Sprachen müssen Sie sich nicht sonderlich kümmern: Wird zum Beispiel eine Python-Datei geladen, meldet IDEA, dass entsprechende Plug-ins existieren und bietet direkt die Installation sowie einen anschließenden IDEA-Neustart an.

Da sich IDEA nahezu komplett per Tastatur bedienen lässt, ist es durchaus eine mögliche Alternative zu Texteditoren wie Emacs oder Vim. Übrigens: Vim gibt es ebenfalls als Plug-in. Man kann also auch beides haben.

Vim

Vim wird genauso verteufelt wir es geliebt wird. Der Uralt-Texteditor gehört zu den beliebtesten Editoren überhaupt, weil er wunderbar in den Terminal integriert ist, sehr gut automatisieren kann, überall verfügbar ist und – von der Bedienung mal abgesehen – recht einfach ist. Man kann sich problemlos mit Standardmitteln per SSH in die heimische Vim-Umgebung einloggen.

Auf der anderen Seite: Bei Stack Overflow hat die Frage, wie man Vim beendet, bereits die 1,8 Millionen Aufrufe geknackt – das spricht nicht für eine gute Usability. Aber jeder treue Vim-Nutzer wird Ihnen bestätigen, dass sich die hohe Einstiegshürde lohnt.

Das eigentlich Besondere ist, dass Vim mit mehreren Modi arbeitet. Der Normal-Modus dient dazu, im Dokument zu navigieren und Korrekturen durchzuführen. Im Einfügen-Modus wird ganz normal Text geschrieben. Der Befehls-Modus dient für komplexere Aufgaben wie Suchen und Ersetzen über Regexe – und auch das Beenden, Speichern und so weiter erfolgt hier. Hinzu gesellen sich der Visuell-Modus zum Markieren von Text und der Ersetzen-Modus zum Austauschen einzelner Passagen.

Einführungen können ganze Bücher verschlingen, aber damit der Einstieg gelingt, hier das Wichtigste: In den Normal-Modus gelangt man immer mit „ESC“. Von dort gelangt man per „:“ in den Befehls-Modus und kann das Programm mit „wq“ (write quit) speichern und beenden. Dann geht es wieder mit „ESC“ in den Normal-Modus und von dort per „i“ in den Einfügen-Modus. Und so weiter. Wenn man die Modi so grundlegend wechseln kann, ist man schon ein großes Stück weiter.

Wie sich Vim in den Modi bedienen lässt, steht buchstäblich auf einem anderen Blatt, und zwar in einem Cheat-Sheet: Es gibt im Netz tausende Cheat-Sheets, zu Deutsch Spickzettel, die die wichtigsten Kommandos in Listen oder auf stilisierten Tastaturen ausführen. Mit einem entsprechenden Poster hinter dem Schreibtisch ist man auf dem besten Weg, irgendwann Vim-Junkie zu werden.

Git-Integration ist bei Vim natürlich nicht vorgegeben – aber recht einfach zu realisieren. Mit fugitive.vim gibt es einen simplen Wrapper, über den zumindest die wichtigsten Kommandos wie commit, log oder status direkt im Befehlsmodus genutzt werden können. Unter Ubuntu lässt sich das entsprechende Plug-in direkt aus den Paketen installieren:

apt-get install vim-fugitive

Über den Befehl Gstatus (unten) gibt es gits Statusmeldung (oben).
Über den Befehl Gstatus (unten) gibt es gits Statusmeldung (oben). (Bild: Lang / Vim)

Wenn Sie nun eine Datei aus einem Repository bearbeiten, können Sie den Status zum Beispiel über „:Gstatus“ abrufen; die anderen Befehle lauten analog „:Glog“, „:Gcommit“ und so weiter. Nicht vergessen: Das „:“ leitet den Befehlsmodus ein.

Noch einfacher ist das Syntax-Highlighting: Sofern es bei Ihrer Distribution nicht standardmäßig eingeschaltet ist, können Sie dies für die offene Datei mit „: syntax on“ erledigen. Oder Sie erstellen die Datei „~/.vimrc“ und tragen die Zeile (ohne Doppelpunkt natürlich) dort ein.

Zum Schluss fehlt noch ein Plug-in-Manager, um Vim nach und nach zur IDE aufzurüsten. Ein einfacher Weg ist Vim-Plug, das die Installation von Erweiterungen in die Ordnerstruktur unter „~/.vim“ übernimmt. Vim-Plug installieren Sie, indem sie die Datei „plug.vim“ in das Verzeichnis „autoload“ kopieren:

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

Vim-Plug bietet leider keinen Zugriff auf irgendeine Art von Sammlung, sondern kann lediglich manuell angegebene Plug-ins einrichten. Diese müssen in die Vim-Konfigurationsdatei „~/.vimrc“ eingegeben werden:

Mit dem Plug-in NERDTree bekommt vim einen simplen Dateibaum.
Mit dem Plug-in NERDTree bekommt vim einen simplen Dateibaum. (Bild: Lang / Vim)

call plug#begin('~/.vim/plugged')
Plug 'https://github.com/scrooloose/nerdtree'
call plug#end()

Über „:PlugInstall“ zeigt Vim-Plug die installierten Plug-ins.
Über „:PlugInstall“ zeigt Vim-Plug die installierten Plug-ins. (Bild: Lang / Vim)

Erste und letzte Zeile bleiben bestehen, dazwischen werden die Plug-ins eingetragen, seien es lokale oder entfernte Adressen. Aus vim rufen Sie den Manager über „:PlugInstall“ auf. Ein Verzeichnis mit Vim-Plug-ins finden Sie bei VimAwesome. Viele andere Dinge kann Vim ganz von allein – dank der Terminal-Integration: Man kann direkt aus Vim einen Terminal aufrufen, um Befehle auszuführen, ohne die aktuelle Datei verlassen zu müssen.

Hier noch ein kleiner Tipp, warum sich Vim durchaus lohnen kann: „:!%“ sieht zwar merkwürdig aus, ist aber nützlich. Das „!“ führt die folgenden Befehle direkt im Terminal aus und „%“ steht für den Namen der aktuell bearbeiteten Datei – es wird also die aktuelle Datei ausgeführt. Viel einfacher lässt sich ein Skript nicht testen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45717218 / IDEs)