Может ли vim рассматривать сложенную секцию как движение?
У меня есть сложенный раздел в текстовом документе. Могу ли я использовать складку как движение в 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
режимы?
Что касается моего вопроса, я знаю, что могу просто сложить секцию, а затем удалить "линию", но мне было интересно, можно ли рассматривать саму складку как движение.
3 ответа
Я не знаю, что такое в Vim. Но можно использовать [z
а также ]z
прыгать в начало и конец сгиба.
Это, кажется, делает трюк:
xnoremap iz :<C-U>silent!normal![zV]z<CR>
onoremap iz :normal viz<CR>
Вы можете использовать его как iw
и друзья:
ciz
diz
viz
yiz
Взгляните на плагин vim-textobj-fold. Он предоставляет текстовые объекты для складывания, что, я думаю, именно то, что вы просите.
Связать это здесь, так как я нашел это полезным:
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
,