2009-12-20 18:25:30 +0000 2009-12-20 18:25:30 +0000
78
78
Advertisement

PuTTY как выделить текст и скопировать текст с помощью клавиатуры ТОЛЬКО

Advertisement

Есть ли какой-нибудь способ выделения текста с помощью клавиатуры, как я делаю это обычно с помощью Shift+arrows.

Advertisement
Advertisement

Ответы (10)

74
74
74
2009-12-20 18:29:02 +0000

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

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

26
26
26
2009-12-20 19:11:09 +0000

Насколько я знаю, нет способа скопировать выделенную область из окна шпаклевки в буфер обмена Windows без использования мыши. Специально для этой функциональности на сайте шпаклевки есть запрос функции. http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy. html

Единственный способ скопировать информацию из окна шпаклевки в буфер обмена Windows с помощью сочетания клавиш - это использовать системное меню приложения “скопировать все в буфер обмена” (которое можно вызвать из alt-пространства, при условии установки опции “Окно > Поведение > Системное меню появляется на ALT-пространстве”, сконфигурированной в шпаклевке.

Вставка из буфера обмена Windows into putty может быть выполнена с помощью Shift-Insert.

Если вам нужно копировать и вставлять только внутри самого окна терминала, обратитесь либо к man-странице используемой оболочки, либо рассмотрите возможность использования unix “screen” приложения (“man screen” для более подробной информации), которое позволяет выделить текст для копирования/вставки в терминальном окне (аналогично тому, как работает vi’s copy/stte). выдержка из man-страниц:

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 >.
25
Advertisement
25
25
2014-06-30 16:52:06 +0000
Advertisement

control+insert = копировать

сдвиг+insert = вставить

3
3
3
2012-07-19 07:07:03 +0000

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

2
Advertisement
2
2
2011-04-21 00:42:03 +0000
Advertisement

Я использую GNU экран,

У меня также есть это в моем screenrc, чтобы хорошо играть с vim:

register [ "&00133:se paste&00115a"
register ] "&00133:se nopaste&00115a&00133"
bind ^] paste [.]

У моего друга есть крючок на экране, чтобы скопировать “экранный буфер обмена” на один или оба x буфера обмена (выбор или буфер обмена), и я верю, что шпаклевка делает необходимые переводы. Я постараюсь откопать его.

Вы, вероятно, можете организовать то же самое с xclip, заклипта, который вы ищете должны использовать xclip -selection clipboard

Я бы быстро протестировал, чтобы увидеть, если xclip -selection clipboard -o выплюнет содержимое вашего буфера обмена.

2
2
2
2014-10-30 11:26:09 +0000

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

  1. Перейдите к окну настройки шпаклевки
  2. Выберите “Выбор” из категории в левой части окна
  3. В разделе “Управление с помощью мыши” выберите “Компромисс (Средняя простирается, Правая паста)”, если еще не выбрано.
2
Advertisement
2
2
2011-04-20 23:53:24 +0000
Advertisement

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

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

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

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

2
2
2
2012-05-19 06:55:42 +0000

Другое несколько импровизированное предложение - активировать Клавиши мыши в Windows. В Windows 7 она находится в Центре легкого доступа.

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

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

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

1
Advertisement
1
1
2018-02-17 22:28:44 +0000
Advertisement

Работал над этим какое-то время, и сама шпатлевка не может позволить вам копировать только буфер обмена.

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

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

Установите вашу шпатлевку > соединение > SSH > туннели для переадресации R11311 на localhost:1234 Используйте netcat в качестве прослушивающего сервера, который выдает на выходе команду windows 10 clip, которая посылает входные данные в буфер обмена 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, используя . как посредника, используя функцию vim gist .

После того, как вы выбрали текст в файле, вы можете перенаправить вывод на удаленную сторону порта вперед:

cat ~/.clipboard | nc 127.0.0.1 11311

Или внутри vim скрипта

silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &

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

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

-1
-1
-1
2015-05-26 07:12:50 +0000

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

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

Advertisement

Похожие вопросы

16
4
7
3
3
Advertisement
Advertisement