Ответы:
Из руководства PuTTY :
Копирование и вставка PuTTY полностью работает с мышью. Чтобы скопировать текст в буфер обмена, достаточно щелкнуть левой кнопкой мыши в окне терминала и перетащить, чтобы выделить текст. Когда вы отпускаете кнопку, текст автоматически копируется в буфер обмена. Вам не нужно нажимать Ctrl- Cили Ctrl- Ins; на самом деле, если вы нажмете Ctrl- C, PuTTY отправит символ Ctrl- Cво время сеанса на сервер, где это, вероятно, приведет к прерыванию процесса.
насколько я знаю, нет способа скопировать выделенную область из окна замазки в буфер обмена Windows без использования мыши. на сайте замазки есть запрос на добавление функций специально для этой функции.
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html
единственный способ скопировать информацию из окна замазки в буфер обмена Windows с помощью сочетания клавиш - это использовать системное меню приложения «копировать все в буфер обмена» (которое вы можете вызвать из alt-space, если вы установили «Окно> Поведение> Системное меню появляется на «ALT-Space», опция настроена в замазке.
Вставить из буфера обмена Windows в замазку можно сделать с Shift- Insert.
Если вам нужно копировать и вставлять только в самом окне терминала, обратитесь к странице руководства для используемой вами оболочки или рассмотрите возможность использования приложения unix «screen» («man screen» для получения дополнительной информации), которое позволяет выбирать текст для копирования / вставки в окне терминала (аналогично тому, как работает копирование / вставка в vi). выдержка из справочных страниц:
C-a esc (copy) Enter copy/scrollback mode.
C-a ] (paste .) Write the contents of the paste buffer to the
stdin queue of the current window.
C-a {
C-a } (history) Copy and paste a previous (command) line.
C-a > (writebuf) Write paste buffer to a file.
C-a < (readbuf) Reads the screen-exchange file into the paste
buffer.
C-a = (removebuf) Removes the file used by C-a < and C-a >.
control+ insert= копия
shift+ insert= вставить
control
+ insert
кажется абсолютно ничего не делает. shift
+ insert
вставляет, хотя.
Чтобы обойти эту проблему, запустите PuTTY в замене консоли Windows, такой как ConEmu или SuperPutty .
Я использую экран GNU,
У меня также есть это в моем screenrc, чтобы хорошо играть с vim:
register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a\033"
bind ^] paste [.]
У моего друга есть зацепка на экране, чтобы скопировать «буфер обмена экрана» в один или оба буфера обмена x (выделение или буфер обмена), и я полагаю, что замазка выполняет необходимые переводы. Я постараюсь выкопать это.
Вы, вероятно, можете организовать то же самое с помощью xclip, то, что вы ищете xclip -selection clipboard
Я быстро проверил бы, xclip -selection clipboard -o
выплевывает ли содержимое вашего буфера обмена.
xclip
должно работать. Я использую tmux
и xsel
копировать из Puty с помощью клавиатуры .. Мне еще предстоит выяснить, как вставить в терминал Windows с помощью клавиатуры
Это может быть больше обходного пути, чем решение.
В vim, если вы хотите скопировать блок, который вы выбрали в визуальном режиме (обычно это блок, занимающий много страниц), вы можете записать его в файл (печатая, :w filename.txt
когда текст выделен и пока вы все еще находитесь в визуальном режиме). ). Сделав это, вы можете:
Отправьте файл по электронной почте как вложение (см. Команду ниже - требуется Mutt):
echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
Лично я предпочитаю вариант 1.
Еще одно временное предложение - активировать клавиши мыши в Windows. В Windows 7 он находится в центре легкого доступа.
Горячая клавиша мыши по умолчанию Alt+ Shift+ NumLock.
Надеемся, что нажатие на эту комбинацию клавиш не помешает вашей сессии (или просто Alt+ Tabи активируйте ее снаружи замазкой). Я считаю, что нажатие 0 на цифровой клавиатуре запускает блокировку щелчка, позволяя вам перетаскивать часть текста, которую вы хотите выделить / скопировать.
Мне надоело прокручивать строку за строкой с помощью левой кнопки мыши, чтобы скопировать вывод сессии. Но теперь мне нужно дважды нажать среднюю кнопку ; первый в начале и второй в конце. Как я это сделал:
Некоторое время работал над этим, и сама Putty не может позволить вам копировать с помощью только буфера обмена.
Однако Putty может облегчить обратную передачу данных с удаленной стороны. Если вы используете такой инструмент, как Vim или Tmux, для выбора текста на основе клавиатуры, вы можете записать вывод в файл, и (встречаясь здесь) netcat в туннель обратного порта с замазкой в локальный сервис, который сбрасывает ввод в локальный буфер обмена.
Я сделал видео о том, как это сделать, здесь: https://www.youtube.com/watch?v=RI79eeCuyvE , но вот короткая версия:
Настройте туннели putty> connection> SSH> для перенаправления R11311 на localhost: 1234. Используйте netcat в качестве прослушивающего сервера, который направляет вывод в команду клипов windows 10, которая отправляет ввод в буфер обмена Windows. Оберните это в вечный цикл for следующим образом:
for /L %N IN () do nc -lp 1234 | clip
Запустите вышеуказанное в командной строке, которую вы запускаете от имени администратора, потому что вы подключаетесь к порту.
На удаленном * nix-сервере вам нужно использовать vim или Tmux для отправки текстовых выделений в файл.
Используйте команду, чтобы отправить ваш выбор текста в файл
tmux save-buffer ~/.clipboard
Или вы можете использовать Vim для сохранения буфера (в данном случае z) в файл
silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END
Я интегрирую буфера обмена vim и tmux, используя файл .clipboard в качестве посредника, используя суть функции vim .
Как только выделенный текст находится в файле, вы можете направить вывод на удаленную сторону порта вперед:
cat ~/.clipboard | nc 127.0.0.1 11311
Или внутри скрипта vim
silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &
Обратите внимание, что амперсанд необходим, потому что я не мог заставить -q 0
флаг netcat работать должным образом. Может быть, вы можете. Если он не работает, он ждет целую секунду перед закрытием, что может нарушить ход вашей работы. С амперсандом он мгновенно прекращает процесс, который завершается в течение 1 секунды в фоновом режиме.
Выполнение всего вышеперечисленного полностью интегрирует буфер обмена Tmux, Vim и локального клиента-замазки без прикосновения к мыши! Это был единственный способ найти это.
Если вы работаете на машине с Windows, она будет работать нормально, но если на машине с Linux она не будет работать. Чтобы заставить его работать, просто скопируйте содержимое в любом текстовом редакторе и просто используйте клавиши Shift + Insert в строке, куда вы хотите вставить это.
Надеюсь, это поможет!