Скопируйте и вставьте vim через клавиатуру между разными терминалами Mac? - программирование
Подтвердить что ты не робот

Скопируйте и вставьте vim через клавиатуру между разными терминалами Mac?

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

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

Я использую Mac OSX 10.7 (Lion) и iTerm2 или Mac.

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

4b9b3361

Ответ 1

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

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

set clipboard+=unnamed

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

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

ИЗМЕНИТЬ

Я подозревал, что Vim не был скомпилирован с правильным флагом (-ами). Очевидно, что случай.

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

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

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

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

Ответ 2

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

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

Поместите курсор туда, где вы хотите, и введите следующее:

: r/path_to_file/file.ext

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