Я использую 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
