Есть ли способ выделить текст с клавиатуры, как я обычно делаю, используя Shift+ стрелки.
13 ответов
Из руководства 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 при условии, что вы установили «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 >.
control+insert = copy
shift+insert = paste
Это может быть больше обходного пути, чем решение.
В vim, если вы хотите скопировать блок, который вы выбрали в визуальном режиме (обычно это блок, занимающий много страниц), вы можете записать его в файл (набрав :w filename.txt
когда текст выделен и когда вы ' все еще в визуальном режиме). Сделав это, вы можете:
- Откройте файл в редакторе Windows, если он смонтирован поверх Samba
- Прочитать содержимое файла через Apache или FTP-сервер
Отправьте файл по электронной почте как вложение (см. Команду ниже - требуется 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 на цифровой клавиатуре запускает блокировку щелчка, позволяя перетаскивать ту часть текста, которую вы хотите выделить / скопировать.
Я использую экран 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
содержимое вашего буфера обмена.
Мне надоело прокручивать строку за строкой с помощью левой кнопки мыши, чтобы скопировать вывод сессии. Но теперь мне нужно дважды нажать среднюю кнопку ; первый в начале и второй в конце. Как я это сделал:
- Перейти к окну конфигурации замазки
- Выберите "Выбор" из категории в левой части окна.
- В разделе "Управление использованием мыши" выберите «Компромисс (средняя часть, правая вставка)», если она еще не выбрана.
Чтобы обойти эту проблему, запустите PuTTY в замене консоли Windows, такой как ConEmu или SuperPutty.
Некоторое время работал над этим, и сама 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 и локального клиента-замазки без прикосновения к мышке! Это был единственный способ найти это.
Ctrl
+ Del
- копировать
Shift
+ Ins
- вставить
Выбор должен быть сделан мышью.
Если вы работаете на машине с Windows, она будет работать нормально, но если на машине с Linux она не будет работать. Чтобы заставить его работать, просто скопируйте содержимое в любом текстовом редакторе и просто используйте клавиши Shift + Insert в строке, куда вы хотите вставить это.
Надеюсь, это поможет!
Да, копирование и вставка также работает в Putty на Linux. Шаги следующие:
- Выберите текст из окна замазки.
- Используйте колесо мыши, то же самое будет скопировано и в окно Putty, которое можно игнорировать.
- Откройте любой редактор и вставьте его.
Если вы хотите найти все данные, присутствующие в замазке, выполните задачу (команду) для замазки, как и вы, а затем щелкните правой кнопкой мыши на головке замазки (где-то рядом с кнопкой «Свернуть / Закрыть») и выберите «Скопировать все в CLipboard» и вставьте их в любое место. ты хочешь.