64

Есть ли способ выделить текст с клавиатуры, как я обычно делаю, используя Shift+ стрелки.

13 ответов13

64

Из руководства PuTTY:

Копирование и вставка PuTTY полностью работает с мышью. Чтобы скопировать текст в буфер обмена, просто щелкните левой кнопкой мыши в окне терминала и перетащите, чтобы выделить текст. Когда вы отпускаете кнопку, текст автоматически копируется в буфер обмена. Вам не нужно нажимать Ctrl - C или Ctrl - Ins ; на самом деле, если вы нажмете Ctrl- C, PuTTY отправит символ Ctrl- C вниз по сеансу на сервер, где это, вероятно, приведет к прерыванию процесса.

24

насколько я знаю, нет способа скопировать выделенную область из окна замазки в буфер обмена Windows без использования мыши. Специально для этой функциональности на сайте замазки есть запрос.

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html

единственный способ скопировать информацию из окна замазки в буфер обмена Windows с помощью сочетания клавиш - это использовать системное меню приложения "копировать все в буфер обмена" (которое можно вызывать из alt-space при условии, что вы установили «Window> Behavior>» Системное меню появляется на «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 >.
23

control+insert = copy

shift+insert = paste

2

Это может быть больше обходного пути, чем решение.

В vim, если вы хотите скопировать блок, который вы выбрали в визуальном режиме (обычно это блок, занимающий много страниц), вы можете записать его в файл (набрав :w filename.txt когда текст выделен и когда вы ' все еще в визуальном режиме). Сделав это, вы можете:

  1. Откройте файл в редакторе Windows, если он смонтирован поверх Samba
  2. Прочитать содержимое файла через Apache или FTP-сервер
  3. Отправьте файл по электронной почте как вложение (см. Команду ниже - требуется Mutt):

    echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
    

Лично я предпочитаю вариант 1.

2

Еще одно временное предложение - активировать клавиши мыши в Windows. В Windows 7 он находится в центре легкого доступа.

  1. Нажмите "Сделать мышь проще в использовании".
  2. Установите флажок "Включить клавиши мыши".
  3. Нажмите "Настроить клавиши мыши" для дополнительных настроек.

Горячая клавиша мыши по умолчанию - Alt + Shift + NumLock.

Надеемся, что нажатие на эту комбинацию клавиш не помешает вашей сессии (или просто Alt + Tab и активировать его снаружи замазки). Я считаю, что нажатие 0 на цифровой клавиатуре запускает блокировку щелчка, позволяя перетаскивать ту часть текста, которую вы хотите выделить / скопировать.

2

Я использую экран 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 содержимое вашего буфера обмена.

2

Мне надоело прокручивать строку за строкой с помощью левой кнопки мыши, чтобы скопировать вывод сессии. Но теперь мне нужно дважды нажать среднюю кнопку ; первый в начале и второй в конце. Как я это сделал:

  1. Перейти к окну конфигурации замазки
  2. Выберите "Выбор" из категории в левой части окна.
  3. В разделе "Управление использованием мыши" выберите «Компромисс (средняя часть, правая вставка)», если она еще не выбрана.
2

Чтобы обойти эту проблему, запустите PuTTY в замене консоли Windows, такой как ConEmu или SuperPutty.

1

Некоторое время работал над этим, и сама Putty не может позволить вам копировать с помощью только буфера обмена.

Однако Putty может облегчить обратную передачу данных с удаленной стороны. Если вы используете такой инструмент, как Vim или Tmux, для выбора текста на основе клавиатуры, вы можете записать вывод в файл, и (встречаясь здесь) netcat в туннель обратного порта с замазкой в локальный сервис, который сбрасывает ввод в локальный буфер обмена.

Я сделал видео о том, как это сделать, здесь: https://www.youtube.com/watch?v=RI79eeCuyvE , но вот короткая версия:

Настройте туннели putty> connection> SSH> для пересылки R11311 на localhost:1234 Используйте netcat в качестве прослушивающего сервера, который направляет вывод в команду клипов windows 10, которая отправляет ввод в буфер обмена Windows. Оберните это в вечный цикл, например:

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 &

Обратите внимание, что амперсанд необходим, потому что я не смог заставить флаг netcat -q 0 работать должным образом. Может быть, вы можете. Если он не работает, он ждет целую секунду перед закрытием, что может нарушить ход вашей работы. С амперсандом он мгновенно прекращает процесс, который завершается в течение 1 секунды в фоновом режиме.

Выполнение всего вышеперечисленного полностью интегрирует буфер обмена Tmux, Vim и локального клиента-замазки без прикосновения к мышке! Это был единственный способ найти это.

-1

Ctrl + Del - копировать

Shift + Ins - вставить

Выбор должен быть сделан мышью.

-1

Если вы работаете на машине с Windows, она будет работать нормально, но если на машине с Linux она не будет работать. Чтобы заставить его работать, просто скопируйте содержимое в любом текстовом редакторе и просто используйте клавиши Shift + Insert в строке, куда вы хотите вставить это.

Надеюсь, это поможет!

-2

Да, копирование и вставка также работает в Putty на Linux. Шаги следующие:

  1. Выберите текст из окна замазки.
  2. Используйте колесо мыши, то же самое будет скопировано и в окно Putty, которое можно игнорировать.
  3. Откройте любой редактор и вставьте его.
-2

Если вы хотите найти все данные, присутствующие в замазке, выполните задачу (команду) для замазки, как и вы, а затем щелкните правой кнопкой мыши на головке замазки (где-то рядом с кнопкой «Свернуть / Закрыть») и выберите «Скопировать все в CLipboard» и вставьте их в любое место. ты хочешь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .