Выделение текста в терминале без использования мыши

Я собираюсь нажать Enter, чтобы запустить команду в терминале, но перед этим я хочу скопировать команду в буфер обмена без использования мыши.

Как?

Если вы находитесь где-то еще, кроме терминала, Ctrl + Home делает это.

Есть ли способ произвольного выбора текста, подобного этому в терминале?

РЕДАКТИРОВАНИЕ:

  • предполагают, что используют другие программы, такие как [ 110] не является хорошей альтернативой
  • текст должен вставляться за пределы терминала, поэтому Ctrl + y и подобные последовательности также не решают его [ 112]
68
задан 31 May 2013 в 09:09

6 ответов

Привязать следующий ярлык:

bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'

Теперь после использования Crtl + P ваша строка будет скопирована в буфер обмена. Вы можете вставить его в терминал, используя:

xsel

И в любое приложение X, используя среднюю кнопку мыши или Shift + Insert .

0
ответ дан 31 May 2013 в 09:09

Самым близким, о котором я могу думать, является Ctrl+u, Ctrl+y
Это удалило бы от курсора до начала строки, затем вставило бы от буфера readline. Это не точно то же как буфер обмена, хотя, но Вы смогли бы вставить в оболочке, если, в именно это Вы нуждаетесь.

10
ответ дан 31 May 2013 в 09:09

Если вы используете одну из оболочек, которая понимает ключи emacs (bash, csh и т. Д.), То вы можете скопировать текущую команду:

  1. control-A и в начале строки.

  2. control-K уничтожит всю строку, которую вы только что ввели.

  3. control-Y вернут текст обратно.

Затем позже вы можете control-Y вернуть текст обратно, чтобы вставить текст обратно в качестве ввода в редактор командной строки оболочки.

См. man bash, а затем, когда он появится, введите /emacs, а затем пару n (далее), чтобы переместиться вперед в раздел READLINE.

0
ответ дан 31 May 2013 в 09:09

Если вы находитесь внутри vim, вы можете визуально выбрать одну или несколько строк с помощью Shift + v , а затем использовать привязку, например, y y , чтобы направить выделение в xclip .

Добавьте привязку к вашему vimrc:

vnoremap yy :w !xclip -selection clipboard<CR><CR>

Для этого требуется установить xclip , он находится в репозитории Debian / Ubuntu aptitude.

xclip сохраняет stdin, с опцией -selection clipboard он также выталкивает stdin в системный буфер обмена.

Таким образом, вы также можете использовать xclip общим способом из терминала, например, для копирования всего файла в системный буфер обмена:

cat myfile | xclip -selection clipboard

Если вы также можете создать псевдоним, например, как:

alias cb="xclip -selection clipboard" 
0
ответ дан 31 May 2013 в 09:09

Термит Даниэля Микая имеет «режим выбора». Нажатие Ctrl + Shift + Пробел активирует его. У него есть vim-подобные привязки клавиш. v или V выберут визуальный режим la vim, y дернет, Esc выйдет из режима выбора.

Скопировано из https://stackoverflow.com/questions/1536757/selecting-text-in-terminal-without-using-the-mouse/29386401

0
ответ дан 31 May 2013 в 09:09

Существует программа, которая называется экран. Он создает систему текстовых окон, которая позволяет переключаться между несколькими экземплярами. Но это также позволяет вам выделять текст.

sudo apt-get install screen

Эта команда устанавливает его.

Затем введите screen

. Вы используете ctr-a для запуска последовательности команд. Затем нажмите esc, и курсор переместится в любом направлении. Нажмите ввод, чтобы начать выделение текста, перейти к конечной точке, снова нажмите ввод. Это скопирует в буфер.

Затем ctr-a, а затем} вставит

Подробнее о других командах здесь. ]

0
ответ дан 31 May 2013 в 09:09

Другие вопросы по тегам:

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