¿Es posible? ¡Absolutamente! Caso y punto: textobj-word-column.vim .
Cómo hacer tus propios objetos de texto
Normalmente, el modo visual se usa para crear un nuevo objeto de texto. El modo visual puede ser de línea, de carácter (típicamente) o de bloque visual. Aquí están los conceptos básicos de lo que necesitará:
- Una combinación de teclas no utilizada típicamente
a{char}
o i{char}
donde {char}
es tanto descriptiva como no utilizada. por ejemplo, i/
como un objeto de texto de ejemplo entre /
's.
- Necesita una forma de encontrar el inicio de su objeto de texto. p.ej
T/
- Necesita una forma de encontrar el final de su objeto de texto. p.ej
t/
- Elige un modo visual. p.ej
v
- Cree un modo visual (solo) mapeo vía
xnoremap
.
- Cree un mapeo de modo pendiente del operador que use el mapeo de modo visual a través de
onoremap
y :normal
.
Ahora para un ejemplo de nuestro simple i/
que crea un objeto de texto entre /
's:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Siempre que siga los ingredientes básicos, puede crear objetos de texto para todo tipo de cosas.
Creación avanzada de objetos de texto con vim-textobj-user
El complemento vim-textobj-user proporciona una forma común de definir objetos de texto personalizados de una manera más declarativa. Por ejemplo, aquí hay un objeto de texto de etiqueta php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Para obtener más ayuda con vim-textobj usuario consulte la ayuda doc: :h textobj-user-introduction
.
Para más ayuda
:h map-overview
:h visual-start
:h :norm
Además de la página wiki Crear nuevos objetos de texto de Vim.