Ich bearbeite gerade einige XML-Dateien und habe mir einige Kommentare zu Dingen hinterlassen, auf die ich zurückkommen kann. So was
<!-- Question: bla bla -->
Ich bearbeite gerade mit vim und möchte, dass vim die Frage jetzt hervorhebt, damit ich meinen Code leicht durchsehen und alle Stellen finden kann, die ich mir ansehen muss. Ich weiß, dass ich etwas in mein vimrc einfügen muss, aber ich denke, dass ich nach dem Falschen suchen könnte.
Aktualisieren
Ich habe versucht, dies in meine zu setzen, .vimrc
aber es hatte keine Wirkung:
syn keyword JakeAnnotation Question
hi JakeAnnotation gui=bold term=bold cterm=bold
Update 2
Eigentlich kann ich sehen, dass das, was ich vorher getan habe, eine gewisse Wirkung hatte, denn wenn ich das tue:
:hi
Es zeigt mir alle Dinge, die es hervorhebt, und einer der Einträge ist:
JakeAnnotation xxx term=bold cterm=bold ctermbg=6
( und das xxx ist korrekt formatiert )
Dies führt mich zu der Annahme, dass ich die Frage einfach nicht richtig definiere. Muss die Frage für sich allein in einer Zeile stehen?
Update 3
Ok, also zum Beitrag von Benutzer 22303 habe ich folgendes:
highlight MyQuestion cterm=bold term=bold ctermbg=blue ctermfg=black
match MyQuestion /Question/
Ich vermute jedoch, dass Sie nur eine Übereinstimmung pro Datei haben dürfen. Denn wenn ich das mache:
highlight MyQuestion cterm=bold term=bold ctermbg=blue ctermfg=black
match MyQuestion /Question/
highlight MyRelook cterm=bold term=bold ctermbg=blue ctermfg=black
match MyRelook /Another look/
Der erste hört auf zu arbeiten. (Aber der zweite funktioniert).
quelle
syntax
Hinzufügen vormatch...
meiner vimrc-Datei bewirkt, dass Übereinstimmungen überhaupt keine Auswirkungen haben. Sollte ich das hier tun? Das Ausführen einer geöffneten Datei hat ebenfalls keine Auswirkung.Die gesuchte Datei ist eine Syntaxdatei. Versuchen Sie es mit
/usr/local/share/vim/syntax/
oder/usr/share/vim/syntax/
. Die gewünschte Datei ist xml.vim.Am einfachsten ist es, die Linie zu finden, die hat
und ändern Sie es zu:
Dadurch wird jedem Kommentar, der den Text enthält, die Markierung "Todo" hinzugefügt
Question
.Wenn Sie dies für (jemals) verwenden möchten, ist es am besten, die Datei xml.vim in Ihre lokale
~/.vim/syntax
Datei zu kopieren , damit Änderungen an vim Ihre benutzerdefinierte Syntaxdatei nicht überschreiben.Aktualisieren
Wenn Sie eine ähnliche (sortof) Funktion in einer Datei wünschen , würde ich den Befehl 'goto' verwenden. Ich gebe zu, dass dies wie eine Suche ist, von der Sie sagten, dass sie Sie nervt.
Wenn sich der Cursor während der Bearbeitung auf ein Wort befindet, geben Sie ein
gd
, um vom aktuellen Punkt in der Datei ausgD
zu suchen oder von Anfang an zu suchen. Jedes Wort in Ihrer Datei, das mit dem aktuellen Wort übereinstimmt, wird hervorgehoben. Sie können eingebenn
, um zur nächsten Instanz dieses Wortes zu springen.Ich neige dazu, dies zu tun, weil Sie Highlight und Navigation mit minimaler Eingabe erhalten. Sie schalten das Highlight wie gewohnt aus:
:noh[lsearch]
quelle
~/.vim/ folder. If I created it and create the file
Syntax. Muss ich irgendwo darauf verweisen (vielleicht in.vimrc?
), um vim anzuweisen, sie zu verwenden?syntax
xml.vim
Du könntest es einfach tun
Und dann nach Frage suchen
quelle
Sie haben mehrere Möglichkeiten.
- Eins, wie Dominik erwähnte ... Sie können nacheinander nach diesen suchen (nicht so praktisch)
- Zwei, Sie können ": g / <- Frage" tun, um eine "Liste" von allen zu erhalten (etwas besser) , gibt ein Gesamtbild)
- Drei, Sie können eine Hervorhebungsgruppe einrichten, wenn Sie nur solche Kommentare in XML-Dateien verwenden (ich habe keine Ahnung, wie XML aussieht, daher weiß ich nicht, ob es welche gibt andere Art von Kommentaren in ihnen auch). Dies wäre gut, wenn Sie es in vimrc eingerichtet hätten, da Ihre xlm.vim-Datei beim Aktualisieren von vim mit einer neueren Version nicht mehr vorhanden ist.
quelle
:g/
Vorschlag, kann aber schwierig anzuwenden sein, wenn 'Frage' nicht sofort dem Kommentar-Tag folgt.Sie müssen den Befehl nicht unbedingt in Ihr vimrc einfügen. Sie können es jederzeit einfach über die Befehlszeile eingeben und dann löschen, wenn Sie die Hervorhebung nicht mehr wünschen. Befehle wären ungefähr so:
: hi Frage guifg = rot guibg = blau gui = fett
In gvim (dh vim mit einer GUI) werden die Einstellungen für den Vordergrund (guifg), den Hintergrund und die allgemeinen Zeichen festgelegt.
Wenn Sie dieses Higlighting loswerden möchten, gehen Sie wie folgt vor:
: hi Frage klar
Mit vim in einem Terminal können Sie Folgendes ändern:
: hi Frage ctermfg = rot ctermbg = blauer Begriff = fett
Sie können natürlich alle diese in Ihr vimrc einfügen, und Sie können auch die GUI- und Term-Flags in einem einzigen Hi-Befehl kombinieren.
[unten hinzugefügt, nachdem ich die Antwort eines anderen Posters gelesen habe]
Entschuldigung, ich ging davon aus, dass die Syntax Ihrer Fragenzeilen bereits mit den Einstellungen Ihrer Syntaxdatei für das in Vim integrierte Highlight-Tag "Frage" übereinstimmt. Schauen Sie sich einfach die andere Antwort an, in der die XML-Syntaxdatei für vim erwähnt wird, und geben Sie dann die obigen Befehle mit der ToDo-Markierungsgruppe anstelle von Frage aus.
quelle
Ich bin zu spät zur Party, aber ich benutze
TODO
undFIXME
für genau diese Situation.Die meisten, wenn nicht alle Farbschemata heben das
TODO
im folgenden Beispiel mit einer Kombination aus Hintergrundfarbe, Unterstreichung und Kursivschrift hervor:Es passt nicht wirklich semantisch, funktioniert aber aus rein funktionaler Sicht sehr gut.
quelle