Я использую Vim уже около 7 месяцев, в основном я пишу код на javascript, но иногда на bash или python. Я подобрал много хитростей для его использования и часто выкрикиваю «если я не могу; не делай этого, узнай как» или «если я думаю, что можно что-то улучшить, узнай как». Мне очень трудно делать большие реструктуризации файлов, перемещая блоки кода из одного файла в другой. Я пытался использовать :vsplit
чтобы сделать вещи немного проще. Но это все еще кажется неуклюжим. Каков наилучший способ или способ перемещения относительно больших блоков (10-30 строк) кода вокруг файла?
1 ответ
0
Самый простой способ будет:
Вырежьте блок, который вы хотите переместить, либо напрямую (например,
di{
), либо после визуального выбора (например,vipd
).перейдите туда, где вы хотите, чтобы этот блок был и вставьте.
И я не вижу в этом ничего "неуклюжего".
Как вы делаете это прямо сейчас и почему это неуклюже?
Во всяком случае, вот красота Ex команд:
:'<,'>m33 <-- move the currently selected text to after line 33
:50,62m19 <-- move lines 50 to 62 to after line 19
:-23,+15m13 <-- move 13th line above to 15th line below to after line 13
:'{,'}m'a <-- move the current paragraph to after mark a
:?^foo?,'bm. <-- move 1st line matching ^foo upward to mark b to after the current line
О, боже ... Смотрите :exusage
:help :move
и :help range
.
Обратите внимание, что у Vim есть способы помочь вам перемещаться:
- отметки,
ma
чтобы поставить отметкуa
,'a
чтобы перейти к отметкеa
, см .:help mark-motions
- список переходов,
<C-o>
чтобы перейти назад,<C-i>
чтобы перейти вперед, см .:help jumplist