Ist es möglich? Absolut! Groß- und Kleinschreibung und Text : textobj-word-column.vim .
So erstellen Sie Ihre eigenen Textobjekte
Normalerweise wird der visuelle Modus verwendet, um ein neues Textobjekt zu erstellen. Der visuelle Modus kann zeilenweise, zeichenweise (normalerweise) oder visuell blockiert sein. Hier sind die Grundlagen dessen, was Sie benötigen:
- Eine nicht verwendete Tastenkombination ist normalerweise
a{char}
oder i{char}
wo {char}
sowohl beschreibend als auch nicht verwendet. zB i/
als Beispieltextobjekt zwischen /
's.
- Benötigen Sie einen Weg, um den Anfang Ihres Textobjekts zu finden. z.B
T/
- Benötigen Sie einen Weg, um das Ende Ihres Textobjekts zu finden. z.B
t/
- Wählen Sie einen visuellen Modus. z.B
v
- Erstellen Sie eine (nur) visuelle Moduszuordnung über
xnoremap
.
- Erstellen Sie eine Operator-Pending-Mode-Zuordnung, die die visuelle Moduszuordnung über
onoremap
und verwendet :normal
.
Nun zu einem Beispiel unserer einfachen, i/
die ein Textobjekt zwischen /
's erstellt:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Solange Sie den Grundzutaten folgen, können Sie Textobjekte für alle möglichen Dinge erstellen.
Erweiterte Erstellung von Textobjekten mit vim-textobj-user
Das vim-textobj-user- Plugin bietet eine gängige Methode, um benutzerdefinierte Textobjekte deklarativer zu definieren. Zum Beispiel ist hier ein PHP-Tag-Textobjekt:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Weitere Hilfe zu vim-textobj-user finden Sie in der Hilfe doc : :h textobj-user-introduction
.
Für weitere Hilfe
:h map-overview
:h visual-start
:h :norm
Sowie die Vim-Wiki-Seite Neue Textobjekte erstellen.