Czy to możliwe? Absolutnie! Przypadek i punkt: textobj-word-column.vim .
Jak tworzyć własne obiekty tekstowe
Zwykle tryb wizualny służy do tworzenia nowego obiektu tekstowego. Tryb wizualny może być liniowy, znakowy (zazwyczaj) lub blok wizualny. Oto podstawy tego, czego będziesz potrzebować:
- Nieużywana kombinacja klawiszy zazwyczaj
a{char}
lub i{char}
gdzie {char}
jest zarówno opisowa, jak i nieużywana. np. i/
jako przykładowy obiekt tekstowy między /
's.
- Potrzebujesz sposobu na znalezienie początku swojego obiektu tekstowego. na przykład
T/
- Potrzebujesz sposobu na znalezienie końca swojego obiektu tekstowego. na przykład
t/
- Wybierz tryb wizualny. na przykład
v
- Utwórz mapowanie w trybie wizualnym (tylko) za pośrednictwem
xnoremap
.
- Utwórz odwzorowanie trybu oczekiwania operatora, które używa odwzorowania trybu wizualnego za pomocą
onoremap
i :normal
.
Teraz przykład naszego prostego, i/
który tworzy obiekt tekstowy między /
:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Tak długo, jak postępujesz zgodnie z podstawowymi składnikami, możesz tworzyć obiekty tekstowe do wszelkiego rodzaju rzeczy.
Zaawansowane tworzenie obiektów tekstowych za pomocą vim-textobj-user
Vim-textobj użytkownik Wtyczka zapewnia wspólny sposób definiowania niestandardowych obiektów tekstowych w bardziej deklaratywny mody. Na przykład tutaj jest obiekt tekstowy znacznika php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Aby uzyskać więcej pomocy vim-textobj użytkownikowi zobaczyć jego pomocą doc: :h textobj-user-introduction
.
Aby uzyskać więcej pomocy
:h map-overview
:h visual-start
:h :norm
Jak również strona wiki Tworzenie nowych obiektów tekstowych Vim.