Für vi / vim kann ich vier gut gemeinte Tipps geben:
1: vim mag auf den ersten Blick kryptische Kommandos haben, aber es ist eine Sprache. Einmal als Beispiel:
- 'gq' -> Formatiere neu.
- 'ap' -> "A Paragraph", also Kommando auf einen Absatz anwenden.
- 'gqap' -> "Format a Paragraph", also den aktuellen Absatz neu konfigurieren.
Es ist daher eine gute Idee sich klarzumachen welche grundsätzlichen Elemente vim unterstützt und wie sie kombiniert werden können. Dann sind Dinge wie ''ay5j gar nicht mehr so schlimm, wie sie auf den ersten Blick erscheinen mögen. Dazu gehört auch die Sprache zu sprechen, wie sie gedacht ist. Also Navigation über h, j, k und l und nicht über die Cursortasten. Und auch die Hand von der Maus zu lassen.
2: Nehme vim und nicht vi. Ich weiß, nun kommen gleich die Puristen. "vi reicht mir seit fast 40 Jahren!". Oder "Unix wurde in ed geschrieben!". Vielleicht sogar "Ich habe eine magnetische Nadel und eine 8 Zoll Diskette!". Nur unter dem Strich ist vim nach heutigen Maßstäben wesentlich komfortabler und auch logischer aufgebaut als der klassische vi. Vor allem kann man einfach mal ":set nocompatible" eingeben, und schon muss man sich nicht mehr vor nun wirklich fast 40 Jahren getroffenen, aus Ressourcenmangel resultierenden Designentscheidungen und zu Features avancierten Bugs rumärgern.
3: Beginne mit einer leeren .vimrc und baue deine eigene Konfiguration, sprich übernehme nicht ungesehen irgendwelche fertigen Konfigurationen aus dem Netz. Denn vim ist extrem konfigurierbar, insgesamt sind es weit über 1000 vorgegebene Optionen, dazu kommt die Möglichkeiten mit Scripten nahezu alles was das Herz begehrt umzusetzen. vim lässt sich damit wie kaum ein anderes Tool an den eigenen Workflow anpassen, was sich andere Leute für ihren Workflow ausgedacht haben, passt daher in den meisten Fällen nicht auf einen selbst.
4: Sei mit Plugins / Scripten vorsichtig. Jedes Script macht den Editor langsamer, manchmal beeinflussen sie sich auch gegenseitig, was dann zu schwer erkennbaren Problemen führt. Das wird hoffentlich mit vim 8.0 mittelfristig besser. Ich habe außerdem für mich mal geschworen, dass ich nur noch in Vimscript geschriebene Scripte nehme und nichts mehr in Perl, Python, Ruby, TCL oder Schlimmeren. Damit umgeht man schon mal die unendlichen Freuden nicht mehr funktionierender Scripte, weil sich in irgendeinem defekten Interpreter mal wieder was inkompatibel geändert hat. Oder das man das halbe Debian-Repo installieren muss, weil der minimale und an sich ausreichende vim den Interpreter für eine der benötigten Sprachen nicht hat. Außerdem sollten Scripte grundsätzlich per Plugin-Manager installiert werden, denn damit kann man sie schmerzfrei aktualisieren und auch wieder entfernen. vim 8.0 bringt endlich eine eingebaute Lösung mit, ich nutze aber noch Pathogen.
Und zum Schluss, in Widerspruch zu Tipp 3, hier meine vim-Konfiguration:
https://github.com/Yamagi/vimrc