Nach einem bestimmten Wort suchen und in Sublime Text 2 und Vim ändern

1597
Nik So

Ich versuche die Keybindings von vim nach und nach zu lernen. Ich dachte, ich sollte früh gut werden, ist, eine Textfolge zu finden und sie durch etwas anderes zu ersetzen.

Ich hatte dies erfolgreich auf dem E-TextEditor unter Windows getan, wo ich v / irgendwas / \ rsomethingelse eingebe

für den gewünschten Effekt.

Im Commmand-Modus in SublimeText 2 ist dies jedoch nicht der Fall. Was in ST2 passiert, ist, dass ich im Befehlsmodus v drückt, wodurch der Editor in den visuellen Modus versetzt wird. Wenn ich dann / eingebe, wird er eingegeben Suche, dann gebe ich das Wort "etwas" ein, wenn ich "/" drücke, wird es Teil der Suchabfrage sein, anstatt den regulären Ausdruck zu beenden, okay, dachte ich, dann drücke ich die Eingabetaste, um zu sehen, ob eine Instanz von etwas kommt ausgewählt, aber es tut es auch nicht, und esc oder ein anderer Schlüssel, den ich mir vorstellen kann. Beachten Sie, dass die Instanzen von "etwas" zwar gefunden, aber nicht für weitere Operationen ausgewählt werden.

Gibt es diese Funktion nicht in SublimeText2 oder fehlt mir etwas?

1
Könnten Sie ein Beispiel für einen "Textstring" geben ... das ist ein sehr breiter Begriff, wenn man bedenkt. Rook vor 12 Jahren 0
@Idigas zum Beispiel: Sagen Sie, ob ich die Zeichenfolge in der Druckfunktion print ('awfullyWide') in print ('notReally') ändern möchte. Nik So vor 12 Jahren 0

2 Antworten auf die Frage

7
romainl

Nik, entweder lernst du Vim oder du lernst Sublime Text 2.

Der Vintage-Modus von ST2 ist bestenfalls eine gute Annäherung an die wichtigsten Funktionen von Vim innerhalb der Einschränkungen von Sublime Text.

Zum Beispiel hat es nicht dieselbe Befehlszeile und bietet daher nicht die fantastische Such- / Ersetzungsfunktion von Vim.

Dazu müssen Sie den eigenen Such / Ersetzungsmechanismus von ST2 verwenden, auf den Sie durch Eingabe von Ctrl+ zugreifen können h.

Wenn Sie /im Befehlsmodus eingeben, wird die Suchleiste am unteren Rand des Fensters angezeigt. Da es sich um eine ST2-eigene Suchleiste (auch über Ctrl+ f) handelt, funktioniert sie nicht wie die Ersetzungsleiste. Viel weniger wie Vims Befehlszeile.

Die Liste der Vintage-Modi / Vim-Ähnlichkeiten ist um das Tausendfache kürzer als die Liste der Unterschiede. Ich schlage vor, Sie unterbrechen und überlegen, was Sie tatsächlich tun möchten:

a) Lernen Sie, wie Sie Sublime Text 2 verwenden, einen sehr feinen Texteditor

oder

b) lerne, wie man Vim einsetzt, einer der zwei besten Texteditoren (wie diplomatisch ich bin).

Wenn Sie sich entscheiden, müssen a)Sie den Vintage-Modus überhaupt nicht aktivieren, da die meisten Funktionen 1/1 der ST2-eigenen Funktionen sind. Hören Sie auf, sich die Artikel von Vim anzusehen, und investieren Sie stattdessen Zeit, um zu lernen, wie ST2 funktioniert und wie Sie das Beste daraus machen.

Wenn Sie sich für b)den ersten Schritt entscheiden, müssen Sie das vim-Tutorial aufrufen, das über Terminal.app erreichbar ist: Geben Sie Folgendes ein vimtutorund folgen Sie ihm. Sobald Sie dies getan haben vimtutor(möglicherweise ein paar Mal), können Sie eine aktuelle Version von MacVim herunterladen und Ihr neu gewonnenes Wissen anwenden.

Wenn Sie diese Entscheidung nicht treffen, werden Sie nirgendwohin geführt, da das meiste, was Sie über Vim finden werden, in ST2 nicht funktioniert.

Am Ende ist Ihre Wahl irrelevant. Was zählt, ist, dass Sie es schaffen und konzentrieren.

VIELEN DANK! Du wirst seinen Dummkopf finden: Es gibt eine Vimtutor-Sache?!?! - Ja, ich habe von dem MacVim aus dem Video von Peepcode gehört (in der Tat habe ich aus irgendeinem Grund das Gefühl, dass es viele Vim-Geschmacksrichtungen gibt, die sich so leicht voneinander unterscheiden) --- Sie könnten nicht richtiger sein über den Fokus und Texteditor aus dem Weg zu gehen. Ein kleiner Grund, der für mich sehr spezifisch ist, denke ich, um vim zu verwenden, ist, dass ich Keyboard-Agnostiker sein kann. Ich habe gerade auf Mac gewechselt. Ich kann mit dieser Tastatur nicht leben, also dachte ich, wenn ich ab jetzt mit editieren kann nur eine-z0-9 und gelegentliche Ctrl. Nik So vor 12 Jahren 0
Tatsächlich gibt es nur eine Variante von Vim. Es kann mit oder ohne eine Vielzahl von Optionen kompiliert werden und hat viele exotische Einstellungen, aber Sie erhalten immer noch Vim. MacVim ist nur Vim, eingebettet in eine nette, native Mac OS X-Benutzeroberfläche. Wenn Sie sich wirklich für Vim begeistern, sollten Sie ST2 ablegen und in Vim eintauchen, ohne Zeit und Energie mit den Redakteuren zu verbringen. romainl vor 12 Jahren 0
2
Rook

Nik, obwohl ich sicher bin, dass Ihre Absichten am besten sind, muss ich sagen, dass ich mit @romaini (größtenteils) darin einverstanden bin.

Vim und Sublime Text 2 ( ST2 ) sind, obwohl sie versuchen, zwei verschiedenen Editoren ähnlich zu sein ( naja, einer versucht mehr als der andere). Ich habe ST2 nicht viel benutzt, aber Vim habe ich ziemlich viel benutzt, und es zeichnet sich durch diese Art von Dingen aus, also lohnt es sich zu lernen. Es könnte etwas dauern, ja, aber mit der Zeit und wenn Sie "neue Tricks" lernen, beginnen die Dinge immer mehr "logisch" zu sein.

Vims "Kraft" kommt von mehreren Dingen; Mappings, Operator / Bewegungskombinationen und regulären Ausdrücken .

Zum Beispiel, wenn wir Ihre Zeichenfolge nehmen:

print('AwfullyWide') print('NotReally') 

Sie befinden sich am Anfang der ersten Zeile und möchten den Inhalt der Apostrophe ersetzen. Durch die Eingabe von ci'was steht change inside apostrophe( changeist der Operator, inside 'ist die Bewegung (Text)), auf die der Operator ausgeführt wird, erhalten Sie, print('')nach der Sie den darin enthaltenen Text ersetzen können.

Vims Arbeitsweise auf diese Weise sollte am besten in Betracht gezogen werden, wenn Sie sich fragen: "Was möchte ich mit einem bestimmten Textstück erreichen?". Dann macht es Sinn.

Wenn Sie dies auf einmal tun möchten, führt :%s/AwfullyWide/NotReallyeine einfache Ersetzung natürlich zu demselben Ergebnis. Natürlich haben Regex viel mehr Potenzial als diese einfache Substitution.

Vielen Dank! Ich dachte, der Kommandomodus des ST2 könnte etwas faul sein. Hier ist der Grund, warum ich wirklich das Herz genommen habe, um es unter Fenstern zu sagen und habe gewechselt und gedacht, Vim oder Tod. und ich habe den Peepcode und ein anderes Buch darüber vor einiger Zeit gekauft, und ich erinnere mich vage daran, dass einige Befehle aus dem Video von Peepcode anders waren als das, was angeboten wurde, aber ich dachte, es sei nur mein Gedächtnis beschädigt oder so ... jetzt weiß ich es genau. Nun, das ist scheiße, denn ich mag die SublimeText-Schnipsel und so. Ich dachte, das ist VIM mit einer attraktiven Schnittstelle. Vielen Dank für diese gründliche Erklärung! Nik So vor 12 Jahren 0