Це можливо? Абсолютно! Справа та точка: textobj-word-column.vim .
Як зробити власні текстові об’єкти
Зазвичай візуальний режим використовується для створення нового текстового об’єкта. Візуальний режим може бути лінійним, символьним (як правило) або візуальним блоком. Ось основи того, що вам знадобиться:
- Невикористана комбінація клавіш зазвичай
a{char}
або i{char}
де {char}
є описовою та невикористаною. наприклад, i/
як приклад текстового об'єкта між /
s.
- Потрібен спосіб знайти початок вашого текстового об’єкта. напр
T/
- Потрібен спосіб знайти кінець тексту-об’єкта. напр
t/
- Виберіть візуальний режим. напр
v
- Створіть візуальний режим (лише) відображення через
xnoremap
.
- Створіть відображення в режимі очікування оператора, який використовує відображення візуального режиму через
onoremap
та :normal
.
Тепер для прикладу нашого простого, i/
який створює текстовий об’єкт між /
s:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Поки ви дотримуєтесь основних компонентів, ви можете створювати текстові об’єкти для всіляких речей.
Розширене створення текстових об'єктів з користувачем vim-textobj
ВІМ-textobj користувач плагін забезпечує загальний спосіб визначення користувача текстових об'єктів в більш декларативною формі. Наприклад, ось текстовий об'єкт тегу php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Для отримання додаткової допомоги з користувачем vim-textobj дивіться його довідку doc : :h textobj-user-introduction
.
Для отримання додаткової допомоги
:h map-overview
:h visual-start
:h :norm
А також сторінка Створення нових текстових об’єктів Вікі-сторінки.