Відповіді:
З посібника 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, за умови встановлення «Вікно> Поведінка> Системне меню з'являється на ALT-Space ", налаштований у шпаклівці.
Вставка з буфера обміну Windows у шпаклівку можна виконати за допомогою Shift- Insert.
Якщо вам потрібно скопіювати та вставити лише в самому вікні терміналу, зверніться до сторінки "man" для оболонки, яку ви використовуєте, або розглянути можливість використання програми "screen" unix ("man screen" для отримання додаткової інформації), що дозволяє вибрати текст для копіювання / вставки у вікні терміналу (подібно до того, як працює копія / вставка vi). уривок зі сторінки 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 >.
control+ insert= копія
shift+ insert= вставити
control
+ insert
здається, нічого не робить. shift
+ insert
Хоча вставляє.
Щоб вирішити цю проблему, запустіть PuTTY в заміні консолі Windows, наприклад ConEmu або SuperPutty .
Я використовую екран GNU,
У мене також є це в моєму екрані, щоб добре грати з 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 за допомогою клавіатури
Це може бути скоріше рішення, ніж рішення.
Якщо ви бажаєте скопіювати вибраний у візуальному режимі блок (зазвичай це блок, який охоплює багато сторінок), ви можете записати його у файл (набравши текст :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 , але ось коротка версія:
Встановіть шпаклівку> з'єднання> 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 блокноти , використовуючи .clipboard файл в якості посередника , використовуючи функцію ВІМ суть .
Після того як ваш текст знаходиться у файлі, ви можете передавати вихід на віддалену сторону порту вперед:
cat ~/.clipboard | nc 127.0.0.1 11311
Або всередині сценарію vim
silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &
Зауважте, що амперсанд необхідний, тому що я не міг змусити -q 0
прапора netcat працювати належним чином. Можливо, ти можеш. Без роботи він чекає повну секунду перед закриттям, що може порушити потік вашої роботи. За допомогою амперсанда він миттєво припиняє процес, який завершується за 1 секунду на задньому плані.
Виконуючи все вище, ви повністю інтегруєте Tbux, Vim та локальні кліпборди кліті-шпаклівки, не торкаючись миші! Це був єдиний спосіб, коли я міг це зробити.
Якщо ви знаходитесь на машині Windows, вона буде працювати нормально, але якщо у випадку Linux-машини вона колись не працюватиме. Щоб змусити його працювати, просто скопіюйте вміст у будь-який текстовий редактор і просто скористайтеся клавішею Shift + Insert у рядку, куди ви хочете вставити його.
Сподіваюся, це допоможе!