перемещение линий из одного окна в другое - PullRequest
6 голосов
/ 27 марта 2009

Есть ли простая команда, которая будет перемещать строки из одного окна в другое. В настоящее время я иду в одно окно, выдергиваю строки, а затем вставляю в другое окно.

Я хотел бы знать, смогу ли я сделать это без переключения окон.

Ответы [ 4 ]

8 голосов
/ 27 марта 2009

Я бы сделал такую ​​вещь с помощью макроса. Таким образом, чтобы записать макрос для, QA. Затем yy для восстановления строки: bnext для переключения буферов, p для вставки строки, затем bnext снова для возврата к исходному буферу (на строке, с которой вы начали). Затем нажмите q, чтобы остановить запись.

Итак, чтобы скопировать, переключить окна, вставить, а затем переключиться обратно, вам просто нужно использовать @a. Или сопоставьте его с функциональной клавишей (map @a).

N.B. Просто заметил в комментариях, что у вас есть несколько буферов, поэтому, очевидно, вам нужно будет записать свой макрос соответственно.

1 голос
/ 27 марта 2009

Вы можете попробовать это отображение:

nmap <C-y> Y<C-w>wp<C-w>w
1 голос
/ 27 марта 2009

используя vimdiff, вы можете использовать diffput или diffget для копирования изменений между буферами. Из руководства:

There are two commands to copy text from one buffer to another.  The result is
that the buffers will be equal within the specified range.


                        *:diffg* *:diffget*
:[range]diffg[et] [bufspec]
    Modify the current buffer to undo difference with another
    buffer.  If [bufspec] is given, that buffer is used.
    Otherwise this only works if there is one other buffer in diff
    mode.
    See below for [range].


                        *:diffpu* *:diffput*
:[range]diffpu[t] [bufspec]
    Modify another buffer to undo difference with the current
    buffer.  Just like ":diffget" but the other buffer is modified
    instead of the current one.
    See below for [range].
0 голосов
/ 27 марта 2009

Я сомневаюсь, возможно ли это. Но вот интересный пост о 100 командах Vim каждый программист должен знать, если вы заинтересованы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...