É possível? Absolutamente! Caso e argumento: textobj-word-column.vim .
Como criar seus próprios objetos de texto
Normalmente, o modo visual é usado para criar um novo objeto de texto. O modo visual pode ser em linha, em caracteres (normalmente) ou em bloco visual. Aqui está o básico do que você precisará:
- Uma combinação de teclas não utilizada normalmente
a{char}
ou i{char}
onde {char}
é descritiva e não utilizada. por exemplo, i/
como um exemplo de objeto de texto entre /
's.
- Precisa de uma maneira de encontrar o início do seu objeto de texto. por exemplo
T/
- Precisa de uma maneira de encontrar o final do seu objeto de texto. por exemplo
t/
- Escolha um modo visual. por exemplo
v
- Crie um mapeamento de modo visual (somente) via
xnoremap
.
- Crie um mapeamento de modo pendente de operador que use o mapeamento de modo visual via
onoremap
e :normal
.
Agora, um exemplo do nosso simple i/
que cria um objeto de texto entre /
's:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Contanto que você siga os ingredientes básicos, poderá criar objetos de texto para todo o tipo de coisas.
Criação avançada de objeto de texto com vim-textobj-user
O plug- in vim-textobj-user fornece uma maneira comum de definir objetos de texto customizados de maneira mais declarativa. Por exemplo, aqui está um objeto de texto com tag php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Para obter mais ajuda com o vim-textobj pelo usuário ver seu doc ajuda: :h textobj-user-introduction
.
Para mais ajuda
:h map-overview
:h visual-start
:h :norm
Bem como a página wiki Criando novos objetos de texto Vim.