Suchwort in vim?

Antworten:

207

so was:

/\<word\>

\<bedeutet Wortanfang und \>bedeutet das Ende eines Wortes,

Hinzufügen des Kommentars von @ Roe:
VIM bietet hierfür eine Verknüpfung. Wenn Sie bereits ein Wort auf dem Bildschirm haben und andere Instanzen davon finden möchten, können Sie den Cursor auf das Wort setzen und drücken '*', um in der Datei vorwärts oder '#'rückwärts zu suchen.

Nathan Fellman
quelle
3
Wenn Sie den Mauszeiger über ein Wort
bewegen
1
Warum ist das vorteilhaft gegen nur zu tun: / Wort
Jimh
3
@semja: Nehmen wir an, Sie haben eine Variable 'data' und deren gültige Angabe 'data_valid'. Wenn ich nur nach 'data', aber nicht nach 'data_valid' suchen möchte, erledigt '/ data' den Job nicht. Ich muss vim sagen, wo ich aufhören soll , dem Muster zu entsprechen.
Nathan Fellman
Dies schlägt im folgenden Beispiel fehl: Eine Lösung finden 1word1Sie unter stackoverflow.com/a/22148017/2609994 .
LSchueler
Gibt es eine vimKonfiguration, mit der genau nach Wörtern gesucht werden kann, ohne dass die Suchzeichenfolge mit \<und \<Zeichen umbrochen wird?
Truthadjustr
77
  1. vim Dateiname
  2. Drücken Sie /
  3. Geben Sie das Wort ein, nach dem Sie suchen möchten
  4. Drücken Sie Enter
Mushir
quelle
2
Könnte jemand erklären, warum dies möglicherweise negative Stimmen erhalten hat? Hat für mich gearbeitet.
Kiee
13
Weil das OP darum gebeten hat, gezielt zu suchen "word". Die hier veröffentlichte Lösung sucht im Wesentlichen nach %word%, ob thiswordisawesomeoder word56oder 26word.
Jguy
9
Auch, weil das OP ausdrücklich angegeben hat, dass sie über den /Befehl Bescheid wissen . Daher ist diese Antwort überhaupt nicht hilfreich.
cmaster
27

Wenn Sie in Ubuntu arbeiten, gehen Sie folgendermaßen vor:

  1. Drücken Sie / und geben Sie das Wort ein, um zu suchen
  2. Um vorwärts zu suchen, drücken Sie die UMSCHALTTASTE mit * Taste
  3. Um rückwärts zu suchen, drücken Sie die UMSCHALTTASTE mit der #Taste
Priya R.
quelle
1
Wie kann ich das gesuchte Wort hervorheben?
Jorge Saraiva
3
@jorgesaraiva: Zunächst einmal erhalten Sie wahrscheinlich schneller eine Antwort, wenn Sie eine neue Frage stellen (anstatt 3 Monate, nachdem Sie sie gestellt haben, darauf zu warten, dass jemand über diesen Kommentar stolpert). Zweitens können Sie :set hlsin Vim Ihr Suchergebnis hervorheben. Um die Hervorhebung auszuschalten, tun Sie:set nohls
Nathan Fellman
1
Dies funktioniert wirklich nur, wenn das erste Ergebnis /wordgenau wordstattword.+
Puschkin
Dies funktioniert bei einer AWS Ubuntu 18.04-Instanz nicht. Verwenden von Windows Git-Bash, um auf den Ubuntu-Server zu ssh, wenn dies relevant ist. seltsam.
CodingMatters
21

Für die einfache Suche:

  • / pattern - Suche nach Muster vorwärts
  • Muster - Suche rückwärts
  • n - Vorwärtssuche wiederholen
  • N - rückwärts wiederholen

Einige Variablen, die Sie möglicherweise festlegen möchten:

  • : set ignorecase - Groß- und Kleinschreibung wird nicht berücksichtigt
  • : set smartcase - Anwendungsfall, wenn Kappen verwendet werden
  • : incsearch setzen - Übereinstimmung als Suche anzeigen
NeeruKSingh
quelle
3
Dies ist nicht das, was das OP verlangt.
Alle Arbeiter sind