Автозаполнение в очередь ввода Windows из текста на печатном экране

1

У меня есть корзина, которая выводит имена хостов stdoutв следующем формате (обычно это ~ 20 строк):

ldn0000000002;ldn0000000040;ldn00000000055;ldn0000000117;nyk0000000001;nyk0000000002;tky0000000001

Затем я бы расследовал некоторые из них ssh <hostname>(например, ssh ldn0000000117). Копирование и вставка с помощью Ctrl+[, arrow-keys, space, arrow-keys, space, и тогда Ctrl+]бы мне нагрузок времени , чтобы выделить текст , я хочу , чтобы скопировать.

Возможно ли иметь что-то похожее на автозаполнение, которое я просто должен набрать lи нажать какую-нибудь клавишу (например tab), которую он предоставил ldn0000000бы в очередь ввода Windows (например, :historyaka Ctrl+{), а затем нажать 1(сейчас ldn00000001) и tabзавершить ldn0000000117?

Вывод может быть передан в любую ячейку (например sed) для переформатирования в новую строку с разделителями или в любой формат, если требуется.

Альтернативное решение, которое устраняет необходимость, arrow-keysтакже приветствуется!

У меня нет права собственности на хост, поэтому я не могу изменить какие-либо файлы на удаленном хосте.

Кельвин Нг
источник

Ответы:

0

Я не знаю, как выполнить автозаполнение. Итак, альтернативный план - улучшить движение курсора.

В режиме копирования / прокрутки вы можете использовать некоторые клавиши перемещения. (от screen(1))

Movement keys:
h, C-h, or left arrow move the cursor left.
j, C-n, or down arrow move the cursor down.
k, C-p, or up arrow move the cursor up.
l ('el') or right arrow move the cursor right.
0 (zero) or C-a move to the leftmost column.
+ and - positions one line up and down.
H, M and L move the cursor to the leftmost column of the top, center or bottom line of the window.
| moves to the specified absolute column.
g or home moves to the beginning of the buffer.
G or end moves to the specified absolute line (default: end of buffer).
% jumps to the specified percentage of the buffer.
^ or $ move to the leftmost column, to the first or last non-whitespace character on the line.
w, b, and e move the cursor word by word.
B, E move the cursor WORD by WORD (as in vi).
f/F, t/T move the cursor forward/backward to the next occurence of the target. (eg, '3fy' will move the cursor to the 3rd 'y' to the right.)
; and , Repeat the last f/F/t/T command in the same/opposite direction.
C-e and C-y scroll the display up/down by one line while preserving the cursor position.
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.

Searching:
? Vi-like search backward.
C-a s Emacs style incremental search forward.
C-r Emacs style reverse i-search.
n Find next search pattern.
N Find previous search pattern.

В твоем случае,

  1. Ctrl+[ - в режим копирования / прокрутки.
  2. ?ldn- поиск слова назад ldnот текущей позиции курсора.
  3. n - переместить курсор к следующим кандидатам.
  4. space (когда позиция курсора перемещается в соответствии с вашими пожеланиями) установите первую отметку.
  5. e - переместить курсор в конец слова.
  6. space - установить вторую метку и завершить режим копирования / прокрутки.

Клавиши со стрелками нигде не появятся. :)

yoshikaw
источник