haelle.vimrc

Ansible vimrc

Eine Ansible-Rolle zur Installation von NeoVim mit einigen Plugins.

Es werden Ansible-Community-Tasks benötigt:

ansible-galaxy collection install community.general

Abhängigkeiten

  • ⚠ Warnung: Diese Installation installiert NodeJS & npm über den Paketmanager. ⚠
  • Installiere Fzf und Ag für die Suche.

Ziele

Umfassende Unterstützung für folgende Sprachen/Syntax:

  • Ruby/RoR
  • HTML
  • Javascript
  • VueJS
  • React
  • Ansible
  • JSON
  • YAML
  • Markdown
  • C#

Das Ziel ist, 0 fehlerhafte Verhaltensweisen zu haben.

Theme & Schriftart

Das aktuelle Theme ist slate (desert, industry sind ebenfalls gut); ändere es mit :colorscheme xxx, siehe verfügbare mit Tab.

Die aktuelle Schriftart ist MesloLGS NF Regular (unterstützt Emojis), eingestellt für Zsh.

Plugins

Plugins installieren: :PlugInstall (bereits von Ansible installiert).

Hilfe: Verwende :help keycodes, um die Vim-Keycodennamen anzuzeigen.

Möglichkeit, mit Splits, Tabs und Tmux zu navigieren:

  • <C-w f> : im Split öffnen
  • <C-w gf> : im Tab öffnen
  • <C-⬅,⬆,⬇,➡> : Panelnavigation
  • <C-w-⬅,⬆,⬇,➡> : Panel verschieben
  • gt : zwischen Vim-Tabs wechseln
  • <C-b> : Tmux-Navigation auslösen

Aktive Funktionen

  • gd : zur Definition springen
  • gi : zur Implementierung springen
  • gr : durch Referenzen navigieren
  • gf : zur Datei springen (nur für Ruby/Rails)
  • gg=G : Code neu formatieren
  • F2 : Variable / Methode / Klasse umbenennen
  • <C-k> : Methodendefinition anzeigen
  • qf : Linter-Fehler beheben - funktioniert nicht gut...
  • fr : Formatter auf der aktuellen Zeile ausführen (funktioniert nicht bei Solargraph/Ruby)
  • fa : Formatter für die gesamte Datei ausführen
  • <C-o> : zurück
  • <C-s> : speichern
  • <C-space> : Autovervollständigung auslösen
  • <tab> : durch Vorschläge zur Autovervollständigung navigieren
  • <C-c> : Kommentar hinzufügen / entfernen (Zeile oder Auswahl)
  • bufdo! : ! verwenden, um die Dateien nicht zu speichern (mit dieser Konfiguration ist es erforderlich...)

Ruby- und Rails-bezogen:

  • <C-q> : zwischen Ruby-Spezifikation und Datei wechseln
  • <C-w>t/s/l/a Test/Spezifikation ausführen (Datei, nächster, letzter, alle)

Andere:

  • Vim suspendieren Ctrl+z und mit fg zurückkommen.

Automatische / passive Funktionen

  • Rechtschreibprüfung
  • Syntax-Hervorhebung
  • Automatisches Linting im Gutter & schwebendem Fenster
  • Überall 2 Leerzeichen für Tab verwenden
  • Cursorposition zwischen den Sitzungen merken
  • Leerzeilen beim Speichern entfernen
  • Leerzeichen trimmen
  • Alle unsichtbaren Zeichen anzeigen
  • 'TODO/FIXME/XXX' Schlüsselwörter hervorheben
  • Bessere Größenanpassung von Vim
  • Alle Arten von Paaren () [], Tags hinzufügen...
  • Ruby-Paare (def/end, do/end) hinzufügen
  • Git-Infos im Gutter hinzufügen
  • Linter-Infos im Gutter oder mit Unterstreichung anzeigen
  • Methodendefinition anzeigen, wenn verfügbar (verwende <C-a> und <C-b> zum Scrollen)

Suche

Aktiv:

  • <C-f> : Suche in der aktuellen Datei (Basis-Vim)
  • <Shift-f> : Suche in allen Dateien (verwende fzf.vim / ag)
    • Warnung: Du musst möglicherweise die Terminal-Suche deaktivieren, damit es funktioniert.
  • <Esc> : Suche abbrechen (Hervorhebung abbrechen)
  • <C-p> : Datei nach Namen suchen (verwende fzf.vim)
    • Enter : öffnen
    • <C-t> : in neuem Tab öffnen
    • <C-x> : im horizontalen Split öffnen
    • <C-v> : im vertikalen Split öffnen

Passiv:

  • Ergebnisse in Dunkelgrün hervorheben
  • Aktuelle Auswahl mit blinkendem Cursor hervorheben

Seitenleiste (NerdTree)

Aktiv

  • <C-n> : NerdTree öffnen/schließen
  • Enter : Datei öffnen
  • i : im horizontalen Split öffnen
  • s : im vertikalen Split öffnen
  • ... siehe NerdTree-Dokumentation

Passiv

  • Icons für Dateien
  • Symbole basierend auf dem Git-Status
  • Einige Ordner ignorieren (node_modules, .gitignore)

Ruby - Sehen heißt Glauben

F4/F5/F6/F7 markieren/ausführen/markieren & ausführen/Markierungen löschen.

Eroberung der Autovervollständigung

Plugins werden beim ersten Start installiert.

Für Solargraph musst du es für jede Ruby-Version installieren, mit der du arbeitest:

:InstallGems

Nützliche Befehle:

  • :CocInfo
  • :CocList commands
  • :checkhealth
  • :CocList extensions
  • :call CocAction('format')
  • :CocList marketplace python

Beachte die verfügbaren Erweiterungen:

  • javascriptreact
  • typescript
  • typescriptreact
  • typescript.tsx
  • graphql

Rollenvariablen

Keine verbindlichen Parameter, alle Parameter befinden sich in defaults/main.yml.

Beispiel-Playbook

- hosts: localhost
  roles:
    - role: vimrc
      vim_user: foo

Entwicklungsnutzung

Um es lokal auszuführen, erstelle einen Symlink: cd /etc/ansible/roles & sudo ln -s /path/to/vimrc .

Lizenz

BSD

Über das Projekt

vim installation & configuration

Installieren
ansible-galaxy install haelle.vimrc
GitHub Repository
Lizenz
gpl-3.0
Downloads
97
Besitzer
Product Owner RoR lover Former C#, PHP7, Python, SQL developper