Vim als einfache IDE nutzen

Vim bringt eigentlich schon alles mit um es als IDE zu nutzen.

Vim bringt eigentlich schon alles mit um es als IDE zu nutzen.

Eine IDE installieren und nutzen kann jeder, aber vim als IDE nutzen? Ich zeige ein paar Einstellungen, Shortcuts und Funktionen von vim, die es zu einer IDE machen. Dabei werde ich keine Plugins und keine Magie nutzen, denn vim kann bereits alles nötige.

Das sind die Funktionen, die ich zeige und um die ich die Standard Konfiguration erweitern werde:

  • Bedienung, die vim schon kann:
    • Standard zeug: Öffnen, speichern, schließen, …
    • Dateiexplorer
    • Tabs öffnen und nutzen
    • Bildschirm teilen
  • Navigation, die vim schon kann:
    • Suchen, ersetzen,
    • Springen (z.B. zum nächsten Vorkommnis, zur Definition, …)
  • Software bauen (build & run)
    • Debugging
  • Mit Anpassungen an vim:
    • Zeilennummern, Syntax highlighting, Cursor-Zeile hervorheben, …
    • Autovervollständigung mit drop-down Menü

Mehr Anpassungen sind das auch nicht.

Grundlegende Bedienung von vim

Das mit dem Modi sollte man schon drauf haben. Hier auch nur ganz kurz das Wichtigste:

  • Datei öffnen (ohne Tabs): :e /path/to/file
  • Datei speichern: :w
  • Datei schließen: :q und wenn du nicht vorher speichern möchtest: :q!
  • Hilfe anschauen: :help Befehl

Eingebauter Dateiexplorer

(mehr …)

CLI-Argumente in Bash-Scripten parsen

Argumente zu parsen ist nicht schwer. Auch nicht in Bash-Scripten.

Argumente zu parsen ist nicht schwer. Auch nicht in Bash-Scripten.

Es gibt viele Möglichkeiten Parameter, die an ein Bash Script übergeben wurden, zu verarbeiten. Hier zwei ähnliche Varianten, die das Parameterschema -o /foo/ und --output=/foo/ behandeln können. Das zweite Beispiel zeigt zudem noch die Verwendung von Kommandos.

String Manipulation mit Bash-Hausmitteln

Falls du mit String Manipulation (z.B. ${var#=*} oder Ähnliches) noch nicht vertraut bist, rate ich dir hier weiter zu lesen. In den folgenden Scripten holen wir uns aus Strings immer einen Teilstring. Der Befehl dabei sieht immer wie folgt aus: ${<VARIABLE><SPLIT-CHARS><REGEX>}

Die Split-Chars definieren was hinterher raus kommt, denn das Ergebnis ist immer ein zusammenhängender String. Von denen gibt es vier verschiedene: (mehr …)

Von Windows zu Linux: Vorurteile und angebliche Hürden

Tux ist das Maskottchen von Linux

Das ist Tux. Tux ist das Maskottchen von Linux

Immer wieder höre ich Leute sagen „Ich steig nicht auf Linux um, das ist mir alles viel zu kompliziert!“ oder „Ne lass ma, Linux ist nur was für Hacker!“. Ich werde hier Aspekte beschreiben, bei denen sich Windows und Linux am meisten unterscheiden. Beim Umstieg werden einem wahrscheinlich diese Punkte und Fragen am ehesten auffallen.

Ich betrachte dabei Distributionen wie Ubuntu, Linux Mint oder Fedora, also benutzerfreundliche Desktop-Systeme. Bei anderen Distributionen kann das natürlich anders aussehen (Arch, Gentoo, etc.).

Dieser Beitrag ist eher für nicht-Techies, als für die Hacker da draußen gemacht (die wahrscheinlich eh schon Linux nutzen).

Ganz kurz: Technische Aspekte bei Linux

Keine Angst, es tut nicht weh.

Linux ist an sich nur der innere Kern vom Betriebssystem (sog. „Kernel„) und heißt eigentlich auch „GNU/Linux“ (bei Windows heißt er „NT“) aber das ist eine andere Geschichte.

Eine Distribution packt dann den Kernel, Programme und ggf. eine Benutzeroberfläche zusammen und vertreibt dieses dann als vollwertiges Betriebssystem, was man sich installieren kann.

Weiterhin alle Programme/Dokumente nutzen?

Viele Programme, die man kennt, gibt es auch für Linux

Viele Programme, die man kennt, gibt es auch für Linux

Ein Kritikpunkt ist immer wieder: „Es gibt ja gar kein Office/Outlook/Skype/dies/das/jenes für Linux!“ Das ist manchmal auch wahr: Microsoft Office zum Beispiel gibt es nicht für Linux. Was aber nicht stimmt ist, dass man dadurch keine docx-Dokumente mehr öffnen kann. LibreOffice ist da dein Freund 😉

Generell gilt: Für viele (wenn nicht sogar alle) Software aus dem Alltag gibt es Alternativen für Linux. Klar, bei Spezialsoftware kann es schwierig werden. Auch aus dem Hause Microsoft gibt es natürlich wenig Unterstützung (was sich so langsam ändert).

Doch jetzt kommts: Man kann auch Windows-Software unter Linux laufen lassen. Es gibt das Programm „wine“ welches es ermöglicht zum Beispiel Photoshop oder auch etwas ältere Spiele laufen zu lassen. Bei mir läuft zum Beispiel Skyrim problemlos unter wine.

Spiele spielen

(mehr …)

Passwort Seite überarbeitet

Ein sicheres Passwort muss nicht kompliziert sein, aber ein paar Kriterien erfüllen.

Ein sicheres Passwort muss nicht kompliziert sein, aber ein paar Kriterien erfüllen.

Nur kurz ein Hinweis in eigener Sache: Ich habe die Seite über das Erstellen von Passwörtern überarbeitet.

Was sich geändert hat

Was ich geändert habe ich eigentlich alles. Jetzt ist es mehr Fakten gestützt, leichter verständlich und es wird eher die Frage nach dem „warum“ und nicht mehr ausschließlich die nach dem „wie“ behandelt.

Zudem gibt es jetzt viele Gedankenexperimente, die sehr anschaulich zeigen was für ein Unterschied z.B. die Länge eines Passwortes für dessen Sicherheit aus macht.

Was ihr dort finden werdet

  • Hintergrundwissen
    • Wie werden Passwörter gespeichert und geknackt?
    • Grober Überblick über Hashwerte und Hashfunktionen
    • Kriterien an sichere Passwörter?
  • Passwort Erstellung und Umgang
    • Methoden: Diceware und Generator
    • Hinweise zum sicheren Umgang

Viel Spaß damit und her mit Kritik und Verbesserungsvorschlägen 🙂

Zur Seite

Von Frameworks und dem Rad neu erfinden

Man sagt ja immer, dass man nicht jedes mal das Rad neu erfinden soll. Das ist auch gar nicht verkehrt, denn das Rad neu erfinden birgt viele Risiken.

Jedes mal, wenn man eine gewisse Funktion neu implementiert kann es zu Fehlern kommen. Nicht umsonst gibt es bei Sicherheitskritischer Software (z.B. Bibliotheken zur Verschlüsselung) die Regel: Benutzt „abgehangene“ Bibliotheken, schreibt keine eigenen!

Wenn man jedes mal eine neue Implementation anfertigt, ist auch fraglich ob die Performance, Code-Qualität oder Anzahl an Features einer langjährig gepflegten Bibliothek das Wasser reichen kann.

Es kann allerdings auch zum gegenteiligen Effekt kommen: Software, die lange abhängt, ist ggf. in veralteter Technologie geschrieben und vielleicht nicht so effizient wie neuere Bibliotheken, Frameworks, … (mehr …)