Visueller Modus
Wie bereits von mehreren Personen erwähnt, ist der visuelle Modus die Lösung für Ihr Problem mit dem Kopieren/Ausschneiden und Einfügen. Vim gibt Ihnen 'v', 'V' und C-v. Das kleingeschriebene 'v' in Vim ist im Wesentlichen dasselbe wie die Umschalttaste in Notepad. Das Schöne daran ist, dass Sie die Taste nicht gedrückt halten müssen. Sie können jede beliebige Bewegungstechnik verwenden, um effizient zum Start- (oder End-) Punkt Ihrer Auswahl zu navigieren. Drücken Sie dann 'v' und verwenden Sie erneut effiziente Bewegungstechniken, um zum anderen Ende Ihrer Auswahl zu navigieren. Mit "d" oder "y" können Sie diese Auswahl dann ausschneiden oder kopieren.
Der Vorteil des visuellen Modus von vim gegenüber Jim Dennis' Beschreibung des Ausschneidens/Kopierens/Einfügens in vi ist, dass man die Position nicht genau richtig treffen muss. Manchmal ist es effizienter, eine schnelle Bewegung zu benutzen, um in die ungefähre Nähe des gewünschten Ziels zu gelangen und dies dann mit anderen Bewegungen zu verfeinern, als sich einen komplexeren einzelnen Bewegungsbefehl auszudenken, der einen genau an den gewünschten Ort bringt.
Der Nachteil der extensiven Nutzung des visuellen Modus auf diese Weise ist, dass er zu einer Krücke werden kann, die Sie ständig benutzen und die Sie davon abhält, neue vi(m)-Befehle zu lernen, mit denen Sie vielleicht effizienter arbeiten können. Wenn Sie jedoch sehr proaktiv sind, wenn es darum geht, neue Aspekte von vi(m) zu lernen, dann wird Sie das wahrscheinlich nicht sonderlich beeinträchtigen.
Ich möchte auch noch einmal betonen, dass die Modi "Visuelle Linie" und "Visueller Block" Variationen desselben Themas bieten, die sehr wirkungsvoll sein können... insbesondere der visuelle Blockmodus.
Zur effizienten Nutzung der Tastatur
Ich stimme auch nicht mit Ihrer Behauptung überein, dass der Wechsel der Hände die schnellste Art ist, die Tastatur zu benutzen. Sie enthält ein Element der Wahrheit. Ganz allgemein gesagt, ist die wiederholte Verwendung derselben Sache langsam. Das wichtigste Beispiel für diesen Grundsatz ist, dass aufeinanderfolgende Tastenanschläge, die mit demselben Finger getippt werden, sehr langsam sind. Ihre Behauptung rührt wahrscheinlich von der natürlichen Tendenz her, die Umwandlung s/Finger/Hand/ auf dieses Muster anzuwenden. Bis zu einem gewissen Grad ist sie richtig, aber am extrem hohen Ende des Effizienzspektrums ist sie falsch.
Fragen Sie einfach jeden Pianisten. Fragen Sie sie, ob es schneller ist, eine Abfolge von einigen Noten abwechselnd mit den Händen zu spielen oder die Finger einer einzigen Hand nacheinander zu benutzen. Die schnellste Art, 4 Tastenanschläge zu tippen, ist nicht, die Hände abzuwechseln, sondern sie mit 4 Fingern derselben Hand in aufsteigender oder absteigender Reihenfolge zu tippen (dies nennt man einen "Lauf"). Dies sollte selbstverständlich sein, wenn Sie diese Möglichkeit einmal in Betracht gezogen haben.
Das schwierigere Problem ist, dies zu optimieren. Es ist ziemlich einfach, für die absolute Entfernung auf der Tastatur zu optimieren. Vim macht das. Es ist viel schwieriger, auf der "Run"-Ebene zu optimieren, aber vi(m) mit seiner modalen Bearbeitung gibt Ihnen eine bessere Chance, dies zu tun, als jeder nicht-modale Ansatz (ähem, emacs) es jemals könnte.
Zu Emacs
Damit die Emacs-Eiferer nicht meinen ganzen Beitrag wegen der letzten Bemerkung in Klammern ignorieren, muss ich den Kern des Unterschieds zwischen den Religionen Emacs und Vim beschreiben. Ich habe mich nie in den Editorkriegen zu Wort gemeldet und werde es wahrscheinlich auch nicht wieder tun, aber ich habe noch nie jemanden gehört, der die Unterschiede auf diese Weise beschrieben hat, also hier ist es. Der Unterschied ist der folgende Kompromiss:
Vim bietet Ihnen unübertroffene Effizienz bei der Bearbeitung von Rohtext Emacs bietet Ihnen unübertroffene Möglichkeiten zur Anpassung und Programmierung des Editors
Die blinden Vim-Eiferer werden behaupten, dass Vim eine Skriptsprache hat. Aber es ist eine obskure Ad-hoc-Sprache, die entworfen wurde, um dem Editor zu dienen. Emacs hat Lisp! Genug gesagt. Wenn Sie die Bedeutung der letzten beiden Sätze nicht zu schätzen wissen oder den Wunsch haben, genug über funktionale Programmierung und Lisp zu lernen, um diese Wertschätzung zu entwickeln, dann sollten Sie vim benutzen.
Die Emacs-Eiferer werden behaupten, dass Emacs den Viper-Modus hat und somit eine Obermenge von Vim ist. Aber der Viper-Modus ist nicht Standard. Meines Wissens wird der Viper-Modus von der Mehrheit der Emacs-Benutzer nicht benutzt. Da er nicht die Standardeinstellung ist, entwickeln die meisten Emacs-Benutzer wahrscheinlich keine echte Wertschätzung für die Vorteile des modalen Paradigmas.
Meiner Meinung nach sind diese Unterschiede orthogonal. Ich glaube, die Vorteile von vim und emacs, wie ich sie dargelegt habe, sind beide gültig. Das bedeutet, dass es den ultimativen Editor noch nicht gibt. Es ist wahrscheinlich wahr, dass emacs die einfachste Plattform wäre, auf der man den ultimativen Editor aufbauen könnte. Aber modales Editieren ist nicht in der emacs-Mentalität verankert. Die emacs-Gemeinschaft könnte sich in Zukunft in diese Richtung bewegen, aber das scheint nicht sehr wahrscheinlich.
Wenn Sie also eine effiziente Bearbeitung wünschen, sollten Sie vim verwenden. Wenn Sie die ultimative Umgebung zum Skripten und Programmieren Ihres Editors wollen, benutzen Sie emacs. Wenn Sie etwas von beidem wollen, wobei der Schwerpunkt auf der Programmierbarkeit liegt, verwenden Sie emacs mit dem Viper-Modus (oder programmieren Sie Ihren eigenen Modus). Wenn Sie das Beste aus beiden Welten wollen, haben Sie im Moment kein Glück.