Виберіть / скопіюйте / вставте в термінал, використовуючи лише клавіатуру


14

Я шукаю спосіб вибору , копіювання та вставлення тексту в термінал повністю без миші.

Я використовував tmuxдо цих пір, але я вважаю його ключові комбінації трохи складними для щоденного використання копіювання та вставки, і зараз шукаю альтернативи.

У вас, хлопці, є якісь пропозиції?

Щоб було зрозуміло, мова йде не про передачу в буфер обміну, а про вибір тексту, як це можливо, наприклад, наприклад tmux!


Дивіться мою відповідь тут: askubuntu.com/a/756348/295286 . Я створив функцію, яка буде копіювати будь-який текст перед буфером обміну. Це працює для копіювання команд. Щодо випуску, то він має бути прокладений
Сергій Колодяжний

1
Добре, хлопці, це не має нічого спільного з stdout - це про переміщення курсору до деякого попереднього надрукованого тексту Виберіть його та скопіюйте / вставте його до поточного рядка введення в терміналі: -D Вибачте за те, що не описувались більш точними в описі.
Мортен

Найкращий спосіб додати додаткову інформацію до свого питання - відредагувавши його, натиснувши кнопку редагування . Це краще видно таким чином, і коментарі в основному є вторинними, тимчасовими цілями. Коментарі видаляються за різних обставин. Все, що важливо для вашого питання, повинно бути в самому питанні.
guntbert

Відповіді:


3

Поміркуйте xclip, що це інтерфейс командного рядка до буфера обміну X та доступний із sudo apt-get install xclip.

Можливо, ви помітили, що в Ubuntu, якщо ви виберете якийсь текст, а потім натисніть середню кнопку миші, цей текст буде вставлений у будь-який фокус вводу. xclipпідключається прямо до цього, тому, якщо ви запустите seq 10 | xclip -iпотім середню мишку кудись, ви вставите цифри від 1 до 10. Якщо ви вибрали моє ім'я користувача, то запустіть xclip -o | cowsay, ви отримаєте корову, яка вимовляє слово "ymbirtt".


3
Я здивований, що ця відповідь прийнята. @morten спеціально зазначив, що мова йде не проtmux передачу в буфер обміну, а про вибір тексту, як це можливо, наприклад . Схоже, відповіді від @daisy та @ blue112 є суттєвими.
Тад Ліспі

1
@ TadeuszŁazurski, так я, чесно. xclipце дійсно хороший інструмент , який доповнює існуючу відповідь, але я не впевнений , що це відповідь
ymbirtt

10

Я завжди використовую Ctrl+ Shift+ Cі Ctrl+ Shift+, Vщоб копіювати та вставляти у свій (не tmux) термінал.
Ви можете змінити ці комбінації клавіш у налаштуваннях клавіатури вашого терміналу (не tmux).

Якщо ви хочете продовжувати використовувати tmux, ви також можете змінити комбінації клавіш на tmux, додавши команди до ~/.tmux.conf. просто додайте у цей файл таке:

bind-key -n [shortcut. for example Ctrl+v is C-v] [what you want to do. for example 'new-window' etc]

Це буде виглядати приблизно так

bind-key -n C-t new-window

Для виконання команд у ~/.tmux.confфайлі вам не потрібен ключ префіксу команд .

Для отримання додаткової інформації про речі , доступних для ~/.tmux.confперевірки цієї посилання

Дуже рудиментарне копіювання та вставлення можна зробити за допомогою цього, однак для трохи більшої корисності я рекомендую використовувати конфігурацію копіювання / вставки в стилі Vim.
Увімкнення копіювання / вставки стилю Vim можна виконати за допомогою цього конфігураційного файлу або іншого конфігураційного файла . Однак вони вимагають використання ключа префікса.
Хтось навіть зробив розширення tmux для спрощення дії копіювання / вставки до системного буфера обміну в tmux. Це, можливо, варто подивитися.

Якщо ви хочете альтернативи Tmux, ви можете спробувати dvtm ( sudo apt-get install dvtm dtach). Я сам його не використовував, але, схоже, він має подібні варіанти.


4

Для копіювання використовуйте Ctrl+ Shift+C

Щоб вставити, використовуйте Ctrl+ Shift+ Vабо Shift+insert

Ще один спосіб зробити це:

Спочатку запустіть команду screen, після чого виконайте наступні дії:

  • Натисніть Ctrl+ a+ EscЦе переведе екран у режим копіювання.
  • Тепер перемістіть курсор на початок розділу, щоб скопіювати та натиснути Enter.
  • потім перемістіть курсор до кінця розділу, щоб скопіювати та натиснути Enter.
  • Тепер натисніть Ctrl+ a+, ]щоб вставити.

5
Чудово, але для того, щоб скопіювати щось, у вас має бути вибране спочатку Як вибираєте текст без миші?
Ponytech

1
@Ponytech Я намагався робити в gnome-терміналі, не запускаючи жодної команди на кшталт, screen але не зміг.
ромашка

Використання екрана - єдиний спосіб, який я також знайшов поки що. Дякуємо за оновлення
Ponytech

2

Ви можете використовувати screenрежим вибору.

Введіть екранний сеанс за допомогою screenкоманди.

Потім скористайтесь Ctrl+ aта, Escщоб увійти в режим вибору.

Потім ви можете перемістити курсор, вибрати деякий текст за допомогою space, вийти з режиму вибору та вставити його, коли потрібно, за допомогою Ctrl+ aі ].

Більше інформації тут: http://web.mit.edu/gnu/doc/html/screen_11.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.