Может ли 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.