Копировать и вставлять в Vim через клавиатуру между различными терминалами Mac? - PullRequest
16 голосов
/ 15 ноября 2011

Может ли кто-нибудь помочь мне с этим: я пытаюсь выяснить, как копировать и вставлять текст между двумя различными экземплярами vim на разных терминалах (используя терминал iterm2 или mac).Я могу сделать это с помощью мыши, если я сделаю ": set mouse = a", но я бы хотел сделать это с помощью клавиатуры.

Я гуглил и говорит, что вы можете использовать регистры "* или" + для копирования / вставки в / из системного буфера обмена, но когда я набираю * или + в vim, mac делает одно из следующих действий:те звуки, которые он издает, когда не может что-то сделать.Я также сделал ": set clipboard = безымянный", но это тоже не сработало.

Я использую Mac OSX 10.7 (Lion) и iTerm2 или Mac терминал.

Спасибо запомощь

Ответы [ 2 ]

17 голосов
/ 15 ноября 2011

Не могли бы вы добавить вывод :version?

Я могу восстановить с помощью yy или y в одном экземпляре Vim, запущенном в окне Terminal.app A, и положить с помощью p или P в другом экземпляре Vim, запущенном в окне Terminal.app B, с этой строкой в мой ~/.vimrc:

set clipboard+=unnamed

без использования определенных регистров буфера обмена (* или +).

А почему у вас два экземпляра Vim работают в разных терминалах? SSH / локальный? Если кто-то находится в сеансе SSH, смещение / вставка не будут работать, потому что две машины (локальная / удаленная) не используют один и тот же буфер обмена.

EDIT

Я подозревал, что Vim не скомпилирован с нужным флагом (ами). По-видимому, это так.

Поскольку вы используете Mac OS X по умолчанию, Vim, по моему мнению, вам не нужно перекомпилировать его или даже компилировать что-либо, поскольку это часто приводит к большему количеству проблем, чем стоит.

Вместо этого загрузите последнюю сборку MacVim и используйте исполняемый файл (CLI) Vim в комплекте MacVim: он обладает всеми теми же функциями, что и MacVim (в пределах ограничений CLI, конечно).

Добавьте эту строку в ваш ~/.bashrc или ~/.profile или где бы вы ни использовали для добавления псевдонимов и пользовательских функций bash:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'
0 голосов
/ 16 января 2013

Если вы хотите скопировать весь файл в целевой файл.

Откройте целевой файл в vim.

Поместите курсор в нужное место и введите следующее:

: r /path_to_file/file.ext

Это скопирует весь файл туда, где находится ваш курсор ...

...