Wie kann ich andere dazu inspirieren, vi / Vim zu verwenden?


37

Ich war sehr beeindruckt von der Kraft von vi von der ersten halben Stunde an, als ich es benutzte. Ich habe dann herausgefunden, dass es in einigen Arbeitsumgebungen viele Leute gibt (Techniker und sogar Systemadministratoren!), Die es als "zu kompliziert" vermeiden, ohne jemals den vimtutor ausgeführt zu haben, und noch andere Leute, die vi nur im Einfügemodus und verwenden verpasse den ganzen Punkt der Modalbearbeitung.

Wie kann ich anderen die Kraft von vi / Vim so demonstrieren, dass sie inspiriert werden, es zu lernen und es zu nutzen?

Ich interessiere mich besonders für aktuelle Geschichten darüber, was es gelungen ist, andere (oder sich selbst) zum Lernen und Verwenden von Vim zu bewegen.


4
Ich habe die Richtlinien zu subjektiven Fragen gelesen und finde das passt.
Wildcard

@Wildcard passt vielleicht zu subjektiven Fragen, ist aber wirklich zu weit gefasst. Eine Diskussion zu einer ähnlich "subjektiven" Frage finden Sie unter meta.vi.stackexchange.com/q/1278/205 .
Muru

Ich weiß, worauf du hinauswillst. Ich habe diese Diskussion (und mehrere verknüpfte Diskussionen) gelesen. Ich denke immer noch, dass diese Frage angemessen ist, aber ich denke nicht, dass ich das hier diskutieren soll. Gibt es einen Ort in Meta, an dem wir darüber diskutieren sollten?
Wildcard

@Wildcard Sie können jederzeit eine Frage zu Vi und Vim Meta zu dieser Frage stellen.
muru

Antworten:


54

Obwohl ich einige Anstrengungen in Vim und sein Ökosystem investiert habe, versuche ich nicht aktiv, andere zu konvertieren. Die meisten Leute, mit denen ich zusammengearbeitet habe, investieren überhaupt nicht viel Zeit in die Verbesserung ihrer Arbeitsabläufe und Tools, weil sie mit dem zufrieden sind, was sie haben. Ich finde das vollkommen in Ordnung… und ich würde es hassen , das Ziel ständiger redaktioneller Proselytisierung zu sein, damit ich das anderen nicht aufzwinge.

Manchmal ist ein Mitarbeiter jedoch von meinem Vimming fasziniert und stellt mir ein paar Fragen. Wenn dieses seltene Ereignis eintritt, bin ich mehr als glücklich, das Thema zu diskutieren, coole Tricks zu demonstrieren und ihn / sie auf nützliche Ressourcen hinzuweisen.

Bei meinem letzten Job war ein Mitarbeiter sehr an Vim interessiert und kannte die Grundlagen recht gut ( vimtutor). Es war genug für ihn, um schnelle Bearbeitungen durchführen zu können, aber ihm fehlte das Selbstvertrauen und das Know-how, um tatsächlich zu Vim zu wechseln (etwas, das er eigentlich wollte). Zu einem bestimmten Zeitpunkt musste er eine Reihe sich wiederholender Änderungen an einer großen JSON-Datei manuell vornehmen. Er war beunruhigt über die Idee, eine Stunde damit zu verschwenden, und kam auf die Suche nach einer schnelleren / intelligenteren Lösung. Natürlich erledigte ein einfaches Makro die Aufgabe in weniger als einer Minute (einschließlich Aufnahme), wodurch ich einige Schlüsselbegriffe erläutern konnte…

Ein Problem für Neuankömmlinge ist: "Was nun?" Moment, der kurz danach kommt vimtutor. Vim verbirgt seine Schönheit sehr gut und nicht viele Menschen haben den Willen, diese Muschel ohne Hilfe zu knacken. Ich kann diese Hilfe bei Bedarf bereitstellen ... aber ich werde Vim niemals anderen aufzwingen.


20

Ich benutze Vim für alles. Ich meine alles Programmieren, Textverarbeiten, Romane schreiben usw. Alles. Ich habe in einem Autohaus mit einem Surface Pro 3 gesessen, auf dem eine virtuelle Linux- Box mit Vim ausgeführt wurde, und die Leute haben mit mir Gespräche darüber geführt, was ich tue.

Benutze einfach Vim. Die Leute werden zu Ihnen strömen, um herauszufinden, was Sie tun und warum. Ich erkläre es normalerweise so -

Ich benutze Vim, weil es einen sehr geringen Platzbedarf hat. Microsoft Word ist mehrere Gigabyte groß und mein Surface hat nur 128 GB Speicherplatz. Ich muss meinen Platz maximieren und Vim hilft mir dabei. Es ist auch erweiterbar und hilft mir, konzentriert zu bleiben. Hier, schau. Demonstriere einige meiner Plugins und zeige, wie Vim im Vollbildmodus im Wesentlichen alles abdeckt, damit ich nachdenken kann .

Ich demonstriere oft LaTeX in Kombination mit Vim. Ich werde eine LaTeX-Datei erstellen und sie dann mithilfe einer Vorlage, die ich habe, in eine schöne PDF-Datei kompilieren. Ich demonstriere auch meine Brief- und Lebenslaufvorlagen. Ich betone, wie wichtig es ist, Stil von Inhalten zu trennen. Ab diesem Zeitpunkt interessieren sich die Leute nicht mehr für das, was ich zu sagen habe, und bereuen es, mit mir gesprochen zu haben.

Sie suchen nach einem Ausweg aus dem Gespräch, und ich schreibe weiter. Vim ist mehr eine religiöse Erfahrung als ein Textverarbeitungsprogramm.


3
Fragen Sie sich nur: Schreiben Sie Ihre E-Mail auch in vim? (Ich tue!)
Oliphaunt

5
@Oliphaunt Ich schreibe E-Mails in VIM. Mein bevorzugter E-Mail-Client ist MUTT. Wenn ich eine neue E-Mail bearbeite oder erstelle, wird der Editor meiner Wahl geöffnet. Ich benutze sogar VIM, um URLs zu meinem RSS-Feed-Reader (Newsbeuter) hinzuzufügen.
ILikeTurtles

7
Einige Leute haben beschlossen, meine Antwort mit der Angabe zu bearbeiten, dass ich Visual Basic verwende. Ich benutze Virtual Box und starte Linux über Windows. Ich denke jedoch, dass diese Änderungen super interessant sind, also lasse ich es einfach. Es ist so, als würde man mit Schnitten telefonieren. Die Geschichte ändert sich ständig, je mehr Leute sie bearbeiten. Spaß.
ILikeTurtles

2
@Will Yep. Ich habe eine VM, die ungefähr 2 GB oder weniger beansprucht. Ich würde lieber ein gesamtes Betriebssystem, VIM und alle meine anderen Tools installieren, als 4 GB oder eine beliebige Kopie von Microsoft Tools zu installieren. Die VM selbst kann bei Bedarf erweitert werden, dies ist jedoch noch nicht geschehen, da ich im Umgang mit diesem bestimmten Computer hauptsächlich mit Textdateien arbeite. Wenn ich FreeBSD verwenden würde, könnte ich möglicherweise eine noch kleinere Stellfläche und wahrscheinlich die gesamte VM unter einem Gig ausführen.
ILikeTurtles

3
Office 365 erfordert bis zu 6 GB Festplattenspeicher und bis zu 4 GB RAM. Ich kann ein ganzes Linux-Betriebssystem mit 4 GB HD-Speicher und 1028 MB RAM betreiben. Weniger, wenn ich etwas vorantreiben will. Ich habe FREEBSD in einer VM ausgeführt und gab es nur 256 MB RAM. VIM ersetzt für mich Office, aber eine vollständige Installation des Betriebssystems bietet mir viel mehr Tools als Office bei geringerem Platzbedarf. Ich hoffe das ergibt Sinn.
ILikeTurtles


13

Als jemand, der Vim bei meinem letzten Job lernen musste, würde ich sagen, dass die größte Hürde vor einer "Standard" -Installation lag, für die keine Optionen festgelegt waren. Ich habe die meiste Zeit damit verbracht, zu sagen: "Warum verhält es sich so, wenn alle das Gegenteil erwarten würden?"

Es stellt sich heraus, dass jeder andere bereits einige "Vernunft" -Standards festgelegt hat. Sobald ich das herausgefunden hatte, war ich viel glücklicher und "gab es eine Chance" , mehr zu lernen. Nach ein paar Tagen, in denen der Nummernblock nicht funktionierte, die Tabs falsch waren, die Suche nicht gut funktionierte usw., war ich bereit, das Handtuch zu werfen und nie zurückzublicken.

Wenn Sie wirklich wollen , dass jemand zu , wie es genug , um zu versuchen und erweiterte Funktionen zu lernen, beginnt sie mit einer Einstellungsdatei auf den rechten Fuß , die für die Art der Arbeit , optimiert sie tun müssen.


4
Sehen Sie, ich bin mit keiner dieser nervigen Erwartungen darauf zugegangen, die Sie erwähnt haben. Dies wurde durch das Bewusstsein unterstützt, dass es Jahrzehnte vor den Produkten entstanden ist, mit denen die allgemeinen Benutzer heutzutage vertraut sind. Ich bin offen für bessere Arbeitsweisen, egal ob sie vertraut sind oder nicht. Und tatsächlich ist es kein gutes Tutorial, einen Neuling mit einer eigenen Einstellungsdatei zu satteln!
Underscore_d

+1. Ich hatte die gleiche Erfahrung und konnte nicht mehr zustimmen. Wenn Sie Arbeit erledigen müssen, kann der Wechsel zu einem neuen Editor schmerzhaft / unmöglich sein. Wenn Sie nicht nur eine .vimrc-Datei übergeben, sondern auch erklären, was sie ist, und einem neuen Benutzer dabei helfen, einige Standardeinstellungen für seinen Arbeitsstil festzulegen, können Sie nicht nur schnell produktiv sein, sondern auch einen Teil von vi offenlegen (m) ist Magie.
Wird

1
Das Lesen einer .vimrcDatei mit einer Reihe hilfreicher Standardeinstellungen ist sehr nützlich. Ich habe viel über Vim gelernt, indem ich mir die Optionen angesehen habe, die in github.com/amix/vimrc
icc97 am

Ich stimme vollkommen zu. Vim wäre sogar noch beliebter, wenn mehr Batterien enthalten wären. Schauen Sie sich zum Beispiel an, was ich tun musste, damit der Wortwechsel funktioniert. Da es zur Zeit steht, vimliefert die Grundbausteine , aus denen man muss configure / Programm der Texteditor man immer davon geträumt.
Serge Stroobandt

9

Der beste Weg, einen alten Hund dazu zu inspirieren, einen neuen Trick anzuwenden, besteht darin, etwas zu nehmen, was er tut, und zu zeigen, wie es auf andere Weise einfach schneller / einfacher / besser gemacht werden kann.

Es gibt jedoch definitiv eine Lernkurve, die nur einige Leute abschreckt. Ein Witz geht

Wie generieren Sie wirklich eine zufällige Zeichenfolge? Bitten Sie einen Neuling, vim zu schließen.


1
Guter Punkt. Als jemand, der eher zur Tastatur als zur Maus neigt, bietet mir vi/ min vielen Situationen einen Geschwindigkeitsschub und / oder vermeidet das Umschalten zwischen Eingabegeräten. Außerdem mache ich ziemlich viel mit Eingabeaufforderungen (Linux, Cygwin) und bin viimmer nur da .
underscore_d

8

Der beste Weg ist, Vim selbst zu lernen und anderen die Kraft davon zu demonstrieren. Auch Sie müssen es nicht (demonstrieren) - es ist selbstfördernd. Sobald Sie es mit einigen ausgefallenen Syntaxfarben auf einem hackisch anmutenden Terminalhintergrund verwenden, werden die Leute neugierig und fragen sich oft, was zum Teufel Sie tun . Dann zeig es ihnen.

Wenn Sie Pair-Programmierung durchführen und feststellen, dass ein anderer Entwickler damit begonnen hat, wiederholbare Arbeiten auszuführen, die sich wie eine Sisyphean-Aufgabe anfühlen (z. B. hundertmaliges Drücken der Rücktaste oder der Pfeile), sagen Sie ihm, wie sehr Sie dies stört, da in Vim nur wenige Tastatureingaben erforderlich sind weniger als eine Sekunde.

Überprüfen Sie auch die folgenden Seiten für einige nützliche Vim-Tricks:


1
Ihr zweiter Absatz ist genau richtig. Außer, dass die Schmerzen noch schlimmer sind, wenn Sie sie mit vim im Einfügemodus sehen und die Pfeiltasten drücken , um zum Ende der Zeile zu gelangen . Arrrggh! (Ich denke mir das nicht aus.)
Wildcard

1
Mit @Wildcard einverstanden zu sein, machte mich verrückt, als ich beobachtete, wie mein Kollege versuchte, Daten mit fester Breite durch Zählen von Tastendrücken zu analysieren. Er brauchte ein paar Wochen, meine Hilfe wurde abgelehnt. Seufzer
Roblogic

7

Am wichtigsten ist: nicht schieben, nicht evangelisieren. Seien Sie absolut sicher über Ihre Motivation. Wenn es überhaupt einen Hinweis auf Missionsarbeit gibt, fangen Sie nicht an. Die überwiegende Mehrheit der Menschen reagiert entweder genervt oder aggressiv, denn der bloße Vorschlag, einen anderen Workflow zu prüfen, stößt auf Kritik. Dass Ihr Workflow besser ist als der Ihre. Was viele Leute abschließt. Tatsächlich ist dies ein allgemeines Prinzip, das unabhängig von der Einstellung funktioniert (denken Sie an Vegetarier / Fleischesser, Demokraten / Republikaner, Automarken, Rezepte usw.).

Es kann durchaus sein, dass keine Kritik von Ihrer Seite beabsichtigt ist, aber dies geschieht auf der anderen Seite und Sie können nichts dagegen tun. Das sind Menschen für dich.

Ich schlage vor, das Thema in einer entspannten Atmosphäre zur Sprache zu bringen, wenn es keine Frist gibt. Sprechen Sie aus Ihrer Erfahrung, wie beeindruckt Sie waren und wie viel effizienter Sie sich jetzt fühlen. Niemals vergleichen. Sagen Sie niemals "es ist besser", da dies eine absolute Aussage wäre und Sie nur darum bitten, herausgefordert zu werden. Gehen Sie immer mit "Ich bin auf diese Weise produktiver". Auf diese Weise kann die andere Person nicht abweisen, dass Sie tatsächlich produktiver sind und keinen Druck ausüben. Wenn der andere das Thema aufgreift, vorsichtig ist und vielleicht anbietet, einen oder zwei Links zu teilen, ist Vimcasts beispielsweise eine großartige Ressource.

Das Erlernen von Vim ist eine verdammt große Aufgabe, vor allem angesichts der verrückten Zeit, die Sie investieren, um Ihr erstes Setup richtig zu machen. Ich hatte in dieser Zeit so viele Fragezeichen im Kopf und fast jede zweite Einstellung schien unsinnig oder sogar feindselig. Es ist das Gegenteil von intuitiv. Entweder bleibt jemand dabei und bekommt nach und nach mehr "Aha!" Momente oder wird es einfach für einen wortähnlicheren Editor fallen lassen. Was auch immer funktioniert.

Am Ende ist es wirklich keine Debatte wert: Jeder nutzt nur, was die Arbeit erledigt. Das ist das Schöne am Quellcode: Er ist universell.


7

Das erste Mal, dass ich vi verwendete, war in einer "Einführung in Unix" -Klasse. Der Lehrer wusste es nicht sehr gut, und er führte es auf sehr klobige Weise ein. Wir mussten uns genug merken, um herumzukommen, wenn wir jemals in einem System stecken blieben, auf dem nichts anderes installiert war. Ich habe mich nach diesem Semester nicht mehr umgesehen. Das ist , wie Sie tun nicht evangelisieren vi, und ich denke, wie viele Leute ihre ersten Erfahrungen hatte.

Einige Jahre später besuchte ich eine Weiterbildungsklasse für Unternehmen über Perl. Der Ausbilder setzte Vim bei seinen Demonstrationen ein und bot an, den Leuten nebenbei zu helfen, obwohl dies nicht der Hauptzweck des Unterrichts war.

Ein inoffizielles Motto von Perl ist TMTOWTDI (es gibt mehr als eine Möglichkeit, dies zu tun). Wenn die Klasse Fragen stellte, nahm der Kursleiter Änderungen vor, um Alternativen anzuzeigen, schneller als er die Änderungen in Worten beschreiben konnte . Ich war es gewohnt, Code während der Bearbeitung lesen zu können, aber für ihn geschah die Bearbeitung in einer Flut von Schlüsseln, dann folgte die Erklärung im Vergleich dazu mit eisiger Geschwindigkeit. Wenn er nicht aufhören müsste, uns die Bearbeitung zu erklären, wäre er bereits zur nächsten Aufgabe übergegangen.

Ich habe ein paar ähnliche Möglichkeiten, um vim zu demonstrieren:

  • Scrum-Meetings
  • Paar-Programmierung
  • Tech-Gespräche
  • Software-Demonstrationen

Ich denke, nur wenn Sie den Menschen sein Potenzial zeigen, nachdem Sie gelernt haben, dass es sie dazu inspiriert, die anfängliche Klobigkeit zu überwinden.


Ich denke, dass Ihr Vergleich der Eindrücke, die durch die zwei sehr unterschiedlichen Belichtungen von vi erzeugt wurden, eine sehr wertvolle Lektion ist. Daran habe ich schon oft gedacht, seit ich es gelesen habe ... bleibt mir im Gedächtnis. Vielen Dank.
Wildcard

6

Es waren die inneren Bewegungen, die meine Augen zu schwebenden Herzen für Vim werden ließen. Neben dem .Wiederholen und Präfixieren von Zählungen ist das Zeigen innerer Bewegungen normalerweise eines der ersten Dinge, die ich zeige / teile, wenn mich jemand nach vim fragt. ci(oder gUi>oder diw.

g;und g,zu den Stellen zu springen, die Sie bearbeitet haben, ist normalerweise gut, um ein oder zwei Augen zu vergrößern.


2

Obwohl vies einen angesehenen Stammbaum in der Computergeschichte gibt, würde ich empfehlen, sich auf Folgendes zu konzentrieren vim. Es ist ein voll ausgestatteter Editor mit unglaublichen Fähigkeiten, der mit jedem seiner Konkurrenten mithalten kann. Der einzige Nachteil ist die Lernkurve; Es braucht Zeit, um die "Vim-Einstellung" und das Muskelgedächtnis zu erlangen. Ich denke, es ist die Mühe wert. Es steht Ihnen viel Kraft zur Verfügung, wenn Sie sich darin auskennen vim.

  1. Demonstrieren Sie die Leistungsfähigkeit von Vimscript, um langweilige Textverarbeitungsaufgaben zu automatisieren.
  2. Installieren Sie coole Plugins wie vim-airline, denn jeder mag eine gute Benutzeroberfläche.
  3. Es gibt jede Menge kostenloser Tutorials, wie dieses hier .
  4. vi/ vimist auf allen Unix-basierten Systemen installiert; Daher sollte jeder professionelle Sysdamin ein funktionierendes Wissen darüber haben.

Der eigentliche Kern meiner Frage ist "Wie" in Bezug auf Punkt 1 Ihrer Antwort. Haben Sie Erfahrungen damit gemacht, dies anderen zu zeigen oder sich selbst zu zeigen?
Wildcard

Nicht so sehr demonstrieren, aber ich benutze kleine vim Skripte routinemäßig Text zu bereinigen, aber ich mag Sie , ich habe nicht viel Interesse von Kollegen (sie bevorzugen Ausgabe in massive Dokumente zu entleeren , dass niemand liest)
roblogic

0

Ich liebe VIM, aber die Lernkurve ist steil.

Es ist unwahrscheinlich, dass ein Fachmann, der VIM noch nicht übernommen hat, durch Argumente überzeugt wird . Nur aus Notwendigkeit.

Der häufigste Anwendungsfall besteht darin, dass Administratoren mehrere * NIX-Computer mit CLI über SSH remote verwalten.

VIM ist buchstäblich auf fast allen * NIX-Computern der Welt installiert.

VIM ist 25+ Jahre alt und unverändert, seitdem ich 1998 damit angefangen habe.


0

Bitten Sie den Schüler einfach, zwei Wörter mit seinem Word ™ -Prozessor zu tauschen.

… Dann zeige, wie der Meister das macht vim. (Hier ist das Mapping dazu; mehr hier .)

Schließlich lassen die Schüler überlegen , ob er / sie wirklich mit einem gearbeitet hat Wort bisher Prozessor.


1
Clever, aber Control-Backspace löscht ein Wort in so gut wie jedem Windows-Editor und Alt-Backspace in so gut wie jedem Mac-Editor.
Wildcard

@Wildcard Ich hatte Zweifel zwischen Löschen und meiner ersten Ideenauswahl . Sie haben natürlich vollkommen recht. Daher habe ich es wieder geändert, um auszuwählen.
Serge Stroobandt

Immer noch: Halten Sie die Strg-Umschalttaste nach links / rechts gedrückt (oder drücken Sie die Alt-Umschalttaste für Mac). :)
Wildcard

@Wildcard Ich glaube, ich habe es jetzt bekommen. Ich musste mein bisheriges Denken rekonstruieren. ;)
Serge Stroobandt

@Wildcard Danke, dass du darauf bestanden hast. Es fiel mir schwer, mich daran zu erinnern, was genau mich veranlasste, mich drastisch zu verändern gvim. Jetzt erinnere ich mich gut. Beim Schreiben eines englischen Textes als Muttersprachler wurden Wörter in einem Satz getauscht / bewegt. Dafür habe ich meine eigenen Vimscript-Mappings geschrieben .
Serge Stroobandt

0

In Vim geht es auch um die Aufwertung von Nur-Text-Dateien

Im Kontext der Dokumenterstellung liegt der Wert von vimnicht nur in den hervorragenden Fähigkeiten der Wortbearbeitung. Vim ist auch ein Weg, um den Wert der allgegenwärtigen Nur-Text-Datei wiederherzustellen und die zeitlose Abwärtskompatibilität zu gewährleisten.

Bei Vim geht es auch darum, sich ausschließlich auf Inhalte zu konzentrieren. nicht formatieren

Wenn man nicht in Web - Seite bearbeiten ist, die Trennung von Inhalt und Format könnte ein Paradigma erschütternd Konzept zu jedem normalen Büroangestellte sein. Aus diesem Grund zeige ich mich gerne gvimals Markdown- Editor in Kombination mit Pandoc und vielleicht einem makefile.

Dies ist auch eine gute Demonstration der Unix- oder GNU / Linux-Philosophie, Programme zu kombinieren und weiterzuleiten , die in nur einer Sache extrem gut sind.

Als Bonus werden Sie sehen, dass die grundlegenden vimTastenkombinationen in vielen anderen GNU / Linux-Programmen verwendet werden.


0

Ergonomie

Mit der richtigen Einstellung kann ich stundenlang arbeiten, ohne Schulter- oder Rückenschmerzen zu bekommen.

Die richtige Einstellung ist natürlich für jeden anders, aber unter Verwendung von Vim in einem Terminal - Mapping Escauf Capslockund deaktivieren Sie die Maus und die Cursor - Taste ist ein guter Anfang.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.