diff options
Diffstat (limited to 'de-de/vim-de.html.markdown')
| -rw-r--r-- | de-de/vim-de.html.markdown | 277 | 
1 files changed, 277 insertions, 0 deletions
| diff --git a/de-de/vim-de.html.markdown b/de-de/vim-de.html.markdown new file mode 100644 index 00000000..d0b4eb9d --- /dev/null +++ b/de-de/vim-de.html.markdown @@ -0,0 +1,277 @@ +--- +category: tool +tool: vim +lang: de-de +contributors: +- ["RadhikaG", "https://github.com/RadhikaG"] +translators: +- ["caminsha", "https://github.com/caminsha"] +filename: LearnVim-de.txt +--- + +[Vim](http://www.vim.org) +(Vi IMproved) ist ein Klon von vi, dem bekannten Editor für Unix. Es ist ein +Texteditor, welcher mit Fokus auf Geschwindigkeit und Produktivität entwickelt +wurde. Vim hat viele Keybindings für ein schnelles navigieren und schnelles +bearbeiten einer Datei. + +## Grundlagen, um in Vim zu navigieren + +``` +vim <filename>   # Öffne <filename> in Vim +:help <topic>    # Öffne die eingebaute Hilfe zum Thema  <topic>, wenn +                 # es existiert +:q               # Schließe vim +:w               # Speichere diese Datei +:wq              # Speichere diese Datei und schließe vim +ZZ               # Speichere diese Datei und schließe vim +:q!              # Schließe vim ohne die Datei zu speichern +                 # ! *zwingt* die Ausführung von :q, +                 # daher wird die Datei nicht gespeichert. +ZQ               # Beende vim ohne die Datei zu speichern +:x               # Speichere die Datei und beende vim +                 # Dies ist eine kürzere Version von :wq + +u                # Änderung rückgängig machen +CTRL+R           # Änderung wiederherstellen + +h                # Den Cursor um ein Zeichen nach links bewegen +j                # Den Cursor eine Zeile nach unten bewegen +k                # Den Cursor eine Zeile nach oben bewegen +l                # Den Cursor um ein Zeichen nach rechts bewegen + +Ctrl+B           # Gehe eine Bildschirmanzeige zurück +Ctrl+F           # Gehe eine Bildschirmanzeige vorwärts +Ctrl+D           # Gehe eine halbe Bildschirmanzeige vorwärts +Ctrl+U           # Gehe eine halbe Bildschirmanzeige zurück + +# Navigieren innerhalb einer Zeile + +0                # Navigiere zum Anfang der Zeile +$                # Navigiere zum Ende der Zeile +^                # Navigiere zum ersten Zeichen, welches kein Leerzeichen ist + +# Im Text suchen + +/word            # Hebt alle Ergebnisse nach dem Cursor hervor +?word            # Hebt alle Ergebnisse vor dem Cursor hervor +n                # Bewegt den Cursor zum nächsten Ergebnis nach der Suche +N                # Bewegt den Cursor zum vorherigen Ergebnis der Suche + +:%s/foo/bar/g    # Ersetze "foo" durch "bar" in allen Zeilen +:s/foo/bar/g     # Ersetze "foo" durch "bar" in der aktuellen Zeile +:%s/\n/\r/g      # Ersetze das newline-Zeichen bei allen Zeilen durch +                 # ein carriage return + +# Zu einzelnen Zeichen springen + +f<character>     # Springe vorwärts und auf dem Zeichen  <character> +t<character>     # Springe vorwärts und lande vor dem Zeichen <character> + +# Zum Beispiel, +f<               # Springe vorwärts und lande auf < +t<               # Springe vorwärts und lande vor < + +# Wortweise navigieren + +w                # Springe um ein Wort vorwärts +b                # Gehe ein Wort zurück +e                # Springe zum Ende des aktuellen Wortes + +# Weitere Befehle, um zu navigieren + +gg               # Gehe an den Start der Datei +G                # Gehe an das Ende der Datei +:NUM             # Springe zur Zeile NUM (NUM kann eine beliebige Zahl sein) +H                # Navigiere zum Start der aktuellen Bildschirmanzeige +M                # Navigiere in die Mitte der aktuellen Bildschirmanzeige +L                # Navigiere an das Ende der aktuellen Bildschirmanzeige +``` + +## Hilfsdokumente + +Vim hat eine eingebaute Dokumentation, welche mit `:help <topic>` aufgerufen +werden kann. +Zum Beispiel öffnet `:help navigation` die Dokumentation über das Navigieren + +`:help` kann auch ohne ein Argument verwendet werden. Dies zeigt den Standard- +Hilfsdialog an, welcher den Start mit vim einfacher macht. + +## Modi + +Vim basiert auf dem Konzept von **modes**. + +- Command Mode - Vims erster Modus, hier kann man navigieren und Befehle eingeben +- Insert Mode  - Wird verwendet, um Änderungen in der Datei zu machen. +- Visual Mode  - Wird verwendet, um Text zu markieren und diesen zu verändern +- Ex Mode      - Wird verwendet, um im ':'-Prompt Befehle einzugeben + +``` +i                # Führt vim in den Insert Mode, vor der Cursorposition +a                # Führt vim in den Insert Mode, nach der Cursorposition +v                # Führt vim in den Visual Mode +:                # Führt vim in den Ex Mode +<esc>            # Führt zurück in den Command Mode, egal in welchem Mode +                 # man sich gerade befindet. + +# Kopieren und einfügen von Text + +y                # Kopiere alles, was im Moment ausgewählt ist +yy               # Kopiert die aktuelle Zeile +d                # Löscht alles, was im Moment ausgewählt ist +dd               # Löscht die aktuelle Zeile +p                # Fügt den kopierten Text nach dem Cursor ein +P                # Fügt den kopierten Text vor dem Cursor ein +x                # Löscht das Zeichen unter dem Cursor +``` + +## Die 'Grammatik' von Vim + +Vim kann als Satz von Kommandos angesehen werden, welche im Format +'Verb-Modifier-Noun' sind. Hierbei gilt: + +- Verb     - die Aktion, du machen willst +- Modifier - wie die Aktion gemacht wird +- Noun     - das Objekt, auf welchem die Aktion ausgeführt wird. + +Einige wichtige Beispiele von 'Verb', 'Modifier' und 'Nouns': + +``` +# 'Verb' + +d                # löschen +c                # ändern +y                # kopieren +v                # visuelles auswählen + +# 'Modifiers' + +i                # innerhalb +a                # außerhalb +NUM              # Nummer (NUM kann irgendeine Zahl sein) +f                # Sucht nach etwas und landet darauf +t                # Sucht nach etwas und stoppt davor +/                # Suche eine Zeichenfolge ab dem Cursor +?                # Suche eine Zeichenfolge vor dem Cursor + +# 'Nouns' + +w                # Wort +s                # Satz +p                # Abschnitt +b                # Block + +# Beispielsätze resp. Kommandos + +d2w              # lösche zwei Wörter +cis              # Ändere innerhalb des Satzes. +yip              # Kopiere innerhalb des Abschnitts (kopiere den Abschnitt, +                 # in welchem du bist) +ct<              # Ändere bis zur spitzen Klammer +                 # Ändere den Text von deiner aktuellen Cursorposition bis +                 # zur nächsten spitzen Klammer +d$               # Lösche bis zum Ende der Zeile +``` + +## Einige Shortcuts und Tricks + +``` +>                # Rücke die Auswahl um einen Block ein +<                # Lösche eine Einrückung der Auswahl +:earlier 15m     # Stellt das Dokument so wieder her, wie es vor 15 Minuten war +:later 15m       # den oberen Befehl rückgängig machen +ddp              # Vertauschen zweier aufeinanderfolgenden Zeilen +                 # Zuerst dd, dann p +.                # Wiederhole die vorherige Aktion +:w !sudo tee %   # Speichere die Datei als Root +:set syntax=c    # Stelle das Syntax-Highlighting für 'C' ein +:sort            # Alle Zeilen sortieren +:sort!           # Alle Zeilen rückwärts sortieren +:sort u          # Alle Zeilen sortieren und Duplikate entfernen +~                # Umschalten der Groß-/Kleinschreibung des ausgewählten Textes +u                # Ausgewählten Text zu Kleinschreibung ändern +U                # Ausgewählten Text zu Großschreibung ändern + +# Text-Folding (Textfaltung) +zf               # Erstelle eine Faltung des ausgewählten Textes +zo               # Öffne die aktuelle Faltung +zc               # Schließe die aktuelle Faltung +zR               # Öffne alle Faltungen +zM               # Schließe alle Faltungen +``` + +## Makros + +Makros sind grundsätzlich einfach aufgezeichnete Aktionen +Wenn du mit dem Aufnehmen eines Makros beginnst, werden **alle** Aktionen und +Kommandos, welche du braucht, aufgenommen bis die Aufnahme gestoppt wird. +Wenn du ein Makro ausführst, werden exakt die gleichen Schritte gemacht. + +``` +qa               # Starte das Aufnehmen des Makros 'a' +q                # Beende das Aufnehmen +@a               # Führe das Makro 'a' aus +``` + +### Konfigurieren mit ~/.vimrc + +Die Datei .vimrc kann verwendet werden, um Vim beim Starten zu konfigurieren + +Hier ist eine Beispiel ~/.vimrc Datei: + +``` +" Beispiel ~/.vimrc + +" Erforderlich für vim, dass es iMproved ist. +set nocompatible + +" Bestimme den Dateityp anhand des Namens, um ein intelligentes Einrücken etc. +" zu ermöglichen +filetype indent plugin on + +" Aktiviere das Syntax-Highlighting +syntax on + +" Bessere Kommandozeilen-Vervollständigung +set wildmenu + +" Verwende die Suche ohne die Berücksichtigung der Groß-/Kleinschreibung, außer +" wenn mit Großbuchstaben gesucht wird. +set ignorecase +set smartcase + +" Wenn eine neue Zeile erstellt wird und kein Dateispezifisches Einrücken +" aktiviert ist, behält die neue Zeile die gleiche Einrückung wie die aktuelle +" Zeile +set autoindent + +" Zeige links die Zeilennummern an +set number + +" Einrückungsoptionen, ändere diese nach deinen Vorlieben + +" Anzahl sichtbarer Leerzeichen bei einem TAB +set tabstop=4 + +" Anzahl der Leerzeichen während des Bearbeitens bei einem TAB +set softtabstop=4 + +" Anzahl der Einrückungstiefe bei den Operationen (>> und <<) +set shiftwidth=4 + +" Konvertiere TABs zu Leerzeichen +set expandtab + +" Enable intelligent tabbing and spacing for indentation and alignment +" Aktiviere intelligente Tabs und Leerzeichen bei der Einrückung und Ausrichtung +set smarttab +``` + +### Verweise + +- [Vim | Homepage](http://www.vim.org/index.php) +- In der Shell eingeben: `vimtutor` +- [Ein vim Tutorial und Primer, englisch](https://danielmiessler.com/study/vim/) +- [Deutsches Arch Linux Wiki](https://wiki.archlinux.de/title/Vim) +- [Arch Linux Wiki, englisch (dafür ausführlicher)](https://wiki.archlinux.org/index.php/Vim) +- [What are the dark corners of Vim your mom never told you about? (Stack Overflow thread)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about) | 
