2013-07-30 3 views
2

Например, когда я беру некоторый текст из vim, затем :wq и откройте новый файл. Когда я пытаюсь вставить текст, который я просто дернул, он не работает. Итак, как вырвать текст между файлами?Как вырвать между файлами?

+0

Я смущен в чем проблема? – FDinoff

ответ

5

использовать "+y, чтобы отправить yanked текст в буфер обмена и "+p, чтобы вставить его в новый файл.

Так что, если у меня есть файл с именем , который содержит abcdef и я (в визуальном режиме) выберите def, а затем нажмите "+y в то время как нормальный режим. Я только что скопировал def в системный буфер обмена. Теперь я могу открыть файл с именем B и (в обычном режиме) нажмите "+p тексту def будет вставлен в файл B.

+0

Обратите внимание, что это работает только тогда, когда ваша копия Vim скомпилирована с поддержкой буфера обмена. Не уверен? Попробуйте ': echo has ('clipboard')'. Если '1', у вас это есть. Если '0', вы этого не сделаете. – ravron

+0

@Riley, вы также можете узнать с помощью ': version', а затем посмотреть, есть ли у' clipboard' немного знака плюс ('+') перед ним. –

+0

определенно, но я считаю, что это немного боль, чтобы попытаться прочитать этот список функций. Ваш звонок, хотя! – ravron

4

Не выходя из редактора после записи с :wq

Вместо этого просто записать файл с :w, а затем отредактировать новый файл с :e file. Или отредактируйте оба одновременно, разделив их с помощью :sp file и ^W для переключения между экранами.

2
  • если у вас есть X11/Windows, вы можете использовать "+y или "*y дергать. и тот же регистр для вставки.
  • не делаем :wq, а затем vim newfile. do :e newfile в том же vim. то вы можете выдернуть и вставить между буферами. просто нажмите y и p
  • Если вы работаете на tty или через ssh и не хотите делать (2), вы можете сохранить выдернутую часть в файл, в newfile читать файл.

Я рекомендую (2) вариант.

+0

В чем разница между ': e' и': o'? – OneZero

+0

@OneZero вы попробовали ': h' их или протестировали оба? откройте свой vim, затем нажмите 'Q', теперь вы вводите' e' или 'o', вы видите разницу. – Kent

2

Vim имеет возможность просмотра нескольких файлов одновременно. Используйте команды :sp *file_name* «split» или :vs *file_name* «вертикальный сплит» для просмотра другого файла в том же терминале.

Навигация между открытыми файлами просто: нажмите Control_key + w, а затем либо «h», «j», «k», либо «l», чтобы переместить курсор в окно файла слева, внизу, сверху или справа от текущего окна. Просто «выдерните» текст, который вы хотите скопировать в одном окне терминала, перейдите в окно терминала, содержащее файл, который вы хотите скопировать, как описано выше, и «поместите» текст в местоположение курсора, как обычно.

К слову, вы можете использовать команду :wqa, чтобы закрыть все открытые окна терминала и записать изменения, внесенные в открытые файлы на диск.

Смежные вопросы