Скопируйте / вставьте в SSH'd VIM из локального (Windows) буфера обмена


14

Я хотел бы скопировать с локальной машины и вставить в vim на удаленной коробке, в которую я помещаю SSH.

Вот и все.

Я пробовал "+p and "*p, щелчок средней кнопкой мыши и несколько других вещей безрезультатно :(

Также приемлемо (хотя и менее удобно) просто пропустить vim и передать буфер в файл.

Моя проблема заключалась в том, что я использую PuttyTray, а не Putty, когда я пытался сделать то же самое в Putty, это работало - я не думал, что с этим возникнут проблемы.


Вы в режиме вставки для vi? Используя putty? Попробуй shift + insert.
Джорданм

сдвиг + вставка и что дальше? да, шпатлевка
фрикскит

2
У Putty должны быть стандартные возможности буфера обмена (копировать, вставить, вырезать ...) где-нибудь в меню окна - вы пробовали это? Не забудьте использовать viрежим вставки, когда вы делаете это, как предложил Джорданм. Это также обычно хорошая идея для :set pasteвставки чего-либо в vim. Также проверьте параметры выбора PuTTY: конфигурация -> Окно -> Выбор (см., Например, codeweblog.com/upload/c/h/… )
peterph

Ответы:


10

На моем ноутбуке с Windows, вставляя в пульт vim, это единственное, что я мог заставить работать:

Ctrl+ Cбыл хорош для копирования ... но мне нужно было Shift+ Insertвставить!

(Хорошая причина всегда иметь ноутбук, где Insertвсегда можно получить доступ, не нажимая вторичную клавишу)


Это не похоже на работу для меня?
Оттенки серого

4

Войдите в режим вставки в vim (i), и вы можете щелкнуть правой кнопкой мыши в окне замазки, чтобы вызвать меню с командой вставки. Также опция в строке меню. У меня работает из окон.

Putty не копирует содержимое буфера обмена Windows в буфер обмена удаленного компьютера. В основном это фактически вводит их, как если бы вы печатали символы в буфере обмена.


когда я нажимаю Ctrl + правой кнопкой мыши, кнопка вставки становится серой! (и только правый клик ничего не делает).
frickskit

@frickskit Вы уверены, что текст, который вы хотите вставить, находится в буфере обмена? Попробуйте вставить его в блокнот, чтобы быть уверенным. Это всегда работало для меня.
OrganicLawnDIY

Моя проблема в том, что я использую PuttyTray, а не Putty, когда я пытался сделать то же самое в Putty, это работало - я не думал, что с этим возникнут проблемы.
frickskit

@frickskit ах ... Вы сказали, что замазка раньше ... Я не знаком с PuttyTray
OrganicLawnDIY

да, мой плохой - не думал, что они будут другими.
frickskit


0

В настоящее время я использую WSL (Ubuntu 18 TLS) на компьютере с Windows 10 вместо PuTTY для SSH и использую Vim.

У меня были проблемы с копированием кода из Windows 10 для вставки на удаленный сервер. Ctrl+ Shift+ Vне работал или любой другой метод.

Мое решение: скопируйте текст из окна, затем перейдите в терминал Ubuntu, затем измените Vim на режим вставки (insert), затем используйте правую кнопку мыши.


Это не похоже на работу для меня.
Оттенки серого

0

Я вижу, что на этот пост уже был дан ответ, но в качестве дополнительного варианта; Я использую PuTTy, и моя локальная машина - Windows 10.

Если я скопирую текст с моего локального компьютера, все, что мне нужно сделать, это щелкнуть правой кнопкой мыши в окне терминала PuTTy, и это вставит мой буфер обмена туда.

Неважно, используете ли вы vim, viили nano, и т. Д., Он все равно будет работать, так как это терминал PuTTy.



Спасибо @JeffSchaller, я знаю, поэтому я и сказал в начале своего поста. Я упомянул об этом, потому что это никому не было ясно разъяснено подробно :)
Kevdog777

0

Это то, что я делаю.

Внутри сеанса Linux SSH: введите cat nameoffile выделенный текст мышью, щелкните его правой кнопкой мыши и выберите «Копировать».

Затем в приложении Windows, например Word: щелкните правой кнопкой мыши и выберите «Вставить».


2
Я думаю, что вы прочитали вопрос задом наперед :)
JamesL

0

Я использую подсистему Windows для Linux для SSH и не могу заставить что-либо работать для вставки в Vim напрямую (включая щелчок правой кнопкой мыши). Вставка в терминал за пределами vim все же работала (с правым щелчком мыши), так что я просто сделал

echo "<right-click to paste>" >> filename.txt

затем vim filename.txtи вставив вставленный текст, где я хотел. Раздражает, но лучше, чем ничего, по крайней мере ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.