Мне нравится копировать вещи с терминала, но мне не нравится должным быть перемещаться в мышь. Как Вы выбираете текст в Terminal.app использование клавиатуры?
Например, в то время как в Терминале хотел бы мочь переместиться в точку на строке и затем выделить часть текста с левыми и правыми клавишами со стрелками, которые мог затем сократить или копия. Действительно ли это возможно?
Если Вы хотите скопировать вывод с команды, можно использовать pbcopy
. Для получения определенного вывода использовать grep
.
Например, для копирования всего вывода netstat -an
:
netstat -an | pbcopy
Только скопировать вывод открытых портов (слушание):
netstat -an | grep LISTEN | pbcopy
Сам Terminal.app не имеет способа использовать клавиатуру для выбора текста, но использования оконечного мультиплексора как экран или tmux, можно сделать так в "режиме копии". Экран установлен на OS X по умолчанию, и tmux может быть установлен через сторонний инструмент, такой как Homebrew или Macports. Страница справочника для обеих программ описывает режим копии и как выбрать текст для копирования в буфер обмена. В экранной странице справочника больше информации о перешедшем режиме копии может быть найдено в CUSTOMIZATION
раздел под copy
. Выборка ниже:
copy
Enter copy/scrollback mode. This allows you to copy text from the cur-
rent window and its history into the paste buffer. In this mode a vi-
like `full screen editor' is active:
Movement keys:
h, j, k, l move the cursor line by line or column by column.
0, ^ and $ move to the leftmost column, to the first or last non-
whitespace character on the line.
H, M and L move the cursor to the leftmost column of the top, center
or bottom line of the window.
+ and - positions one line up and down.
G moves to the specified absolute line (default: end of buffer).
| moves to the specified absolute column.
w, b, e move the cursor word by word.
B, E move the cursor WORD by WORD (as in vi).
C-u and C-d scroll the display up/down by the specified amount of
lines while preserving the cursor position. (Default: half screen-
full).
C-b and C-f scroll the display up/down a full screen.
g moves to the beginning of the buffer.
% jumps to the specified percentage of the buffer.
Это все еще не взаимодействует с буфером обмена системы, таким образом, необходимо было бы скопировать вывод в некотором роде, возможно, путем повторения содержания буфера к pbcopy. Рабочий процесс в качестве примера:
(C-a ["содержат управление, нажимают A и затем поражают [", то же для]. см. экранную страницу справочника.)
повторите 'C-a]' | pbcopy
(буквально не вводите C-a], используйте привязку клавиш, как описано выше, используйте кавычки в случае необходимости),
Текст, который Вы выбрали, должен быть в системном буфере обмена, и можно вставить его в другое окно. Например, следующее:
paste [registers [dest_reg]]
Write the (concatenated) contents of the specified registers to the
stdin queue of the current window. The register . is treated as the
paste buffer. If no parameter is given the user is prompted for a sin-
gle register to paste. The paste buffer can be filled with the copy,
history and readbuf commands. Other registers can be filled with the
register, readreg and paste commands. If paste is called with a second
argument, the contents of the specified registers is pasted into the
named destination register rather than the window. If . is used as
the second argument, the displays paste buffer is the destination.
Note, that "paste" uses a wide variety of resources: Whenever a second
argument is specified no current window is needed. When the source
specification only contains registers (not the paste buffer) then there
need not be a current display (terminal attached), as the registers are
a global resource. The paste buffer exists once for every user.
Был из экранной страницы справочника от выполнения вышеупомянутого :).
Теперь все, что сказало, и Вы действительно упоминаете Terminal.app а именно, новую возможность iTerm2 версии 0.20.20101102, которая находится на шоу тестирования альфа-версии:
В то время как это альфа, я использовал его для всей моей Терминальной работы в течение приблизительно полутора месяцев, и это довольно стабильно.
Если то, что Вы хотите скопировать, является командами, Вы вошли при подсказке Bash, можно использовать Bash readline
особенности редактирования строки:
Вот является пример в (значении по умолчанию) emacs режимом:
Существует много возможностей включая влияние на части строки или конкретных слов и т.д.
Посмотрите man bash
в разделе "Readline" и man readline
для получения дополнительной информации.