Может ли vim рассматривать сложенную секцию как движение?


3

У меня есть сложенный раздел в текстовом документе. Могу ли я использовать складку как движение в VIM, так же, как слово или слово это движение с w/W?

Например daw удалений вокруг слова , так

This is a |t|est

с курсором в ||, И в normal режим, если я запускаю команду daw станет

This is |a|

Могу ли я сделать это со сложенным разделом (с помощью foldmethod=markerи латексный код) ?

\begin{equa|t|ion}%{{{
a = 10
\end{equation}%}}}

после сложить движение будет удален Возможно ли это в других foldmethod режимы?

Что касается моего вопроса, я знаю, что могу просто сложить секцию, а затем удалить «линию», но мне было интересно, можно ли рассматривать саму складку как движение.


Это будет движение независимо от того, сложен ли сгиб
— Simon Walker

Ты пробовал daw на закрытой складке?
— romainl

Ответы:


4

Я не знаю, что такое в Vim. Но можно использовать [z а также ]z прыгать в начало и конец сгиба.

Это, кажется, делает трюк:

xnoremap iz :<C-U>silent!normal![zV]z<CR>
onoremap iz :normal viz<CR>

Вы можете использовать его как iw и друзья:

ciz
diz
viz
yiz

1

Посмотрите на ВИМ-textobj раза плагин. Он предоставляет текстовые объекты для складывания, что, я думаю, именно то, что вы просите.


1

Связать это здесь, так как я нашел это полезным:

https://www.reddit.com/r/vim/comments/10cqgd/looking_for_a_languageaware_block_selection/c6cpyrg

Короткий ответ: вы можете сделать это:

" Create text objects using [z and ]z
vnoremap if :<C-U>silent!normal![zjV]zk<CR>
onoremap if :normal Vif<CR>
vnoremap af :<C-U>silent!normal![zV]z<CR>
onoremap af :normal Vaf<CR>

Это дает вам if а также af, которые работают как ip а также ap,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.