4

Одна из неприятных вещей, которая часто случается со мной, заключается в том, что я набираю длинную команду в интерфейсе командной строки (CLI), а затем понимаю, что мне нужно выполнить другую команду перед ней. Иногда я открываю второй CLI для выполнения этой команды, но в других случаях это невозможно. Таким образом, я заканчиваю тем, что удаляю текст, который уже набрал, набираю и выполняю команду прецедента и, наконец, снова набираю и выполняю исходную команду.

Вот лучшие альтернативы, которые я знаю:

В терминале Linux, если у меня есть мышь, я могу аккуратно выделить текст мышью, щелкнуть правой кнопкой мыши -> Копировать и очистить строку с помощью Ctrl+U Когда мне снова понадобится скопированный текст, я могу либо нажать Ctrl+Shift+V , либо щелкнуть средней кнопкой мыши, либо щелкнуть правой кнопкой мыши -> Вставить. Без мыши я потерялся.

В командной строке Windows, если у меня есть мышь, я могу щелкнуть правой кнопкой мыши -> Отметить, аккуратно выделить текст мышью, Ctrl+C чтобы скопировать, и удерживая клавишу Backspace чтобы очистить линию. Когда я снова хочу скопированный текст, я могу щелкнуть правой кнопкой мыши -> Вставить. Без мыши я потерялся.

Я чувствую, что должен быть лучший способ. Идеальным решением для меня было бы иметь какую-то клавиатуру, в которой будет сохранен текст, который я набрал в текущей строке для последующего удаления, и в то же время удалит его из строки, а также вторую команду, которая будет повторно вставлена текст в командной строке. Такое решение будет быстрее и удобнее, поскольку в нем будет меньше шагов, нет необходимости переключаться между мышью и клавиатурой и не нужно беспокоиться о выделении точно нужного количества текста.

1 ответ1

6

bash (Unix/Linux/Mac OS X)

(также MSYS, вкл. Git Bash для Windows)

Метод Кольца Убийств

  1. Если вы находитесь не в начале или в конце строки, нажмите Home или End, чтобы переместить курсор к одному концу.
  2. Нажмите Ctrl+U, чтобы убить (вырезать) все, что находится слева от курсора, или Ctrl+K, чтобы убить все, что находится справа от курсора.
  3. Нажмите Ctrl+Y, чтобы "вернуть" текст обратно в командную строку.

Если во время набора новой строки нажаты клавиши Ctrl+U, Ctrl+K, Ctrl+W или аналогичные (таким образом, уничтожается новый текст), старый текст не теряется. Кольцо убийства можно вращать после рывка (Ctrl+Y), используя Meta+Y (или Alt+Y). Таким образом, вы можете хранить несколько команд и получать их по желанию.

Метод комментирования

Хранение команды:

  1. Нажмите Home или Ctrl+A, чтобы переместить курсор в начало текущей строки.
  2. Введите # чтобы закомментировать строку.
  3. Нажмите Enter (получает комментарий в вашу историю).

Получение команды:

  1. Нажимайте ↑, пока не дойдете до прокомментированной команды.
  2. Нажмите Home или Ctrl+A, чтобы переместить курсор в начало строки.
  3. Нажмите Удалить, чтобы удалить # . Теперь у вас есть оригинальная команда.

Командная строка Windows

Метод быстрого редактирования

(По-прежнему включает в себя работу с мышью):

Предварительное условие: в строке заголовка командной строки щелкните правой кнопкой мыши -> Свойства -> установите флажок "Режим быстрого редактирования" -> ОК.

  1. Выделите текст, перетаскивая левой кнопкой мыши.
  2. Щелкните правой кнопкой мыши внутри окна командной строки, чтобы скопировать.
  3. Нажмите Ctrl+Home, чтобы очистить все слева от курсора, или Ctrl+End, чтобы очистить все справа от курсора.
  4. Щелкните правой кнопкой мыши в окне командной строки, чтобы вставить.

Примечание. Это решение не является идеальным, поскольку оно не работает, если ваша команда занимает более одной строки (как показано); разделение между строками будет интерпретироваться так, как будто вы нажали Enter в этой точке.


Windows PowerShell

Метод комментирования

Хранение команды:

  1. Нажмите Home или Ctrl+A, чтобы переместить курсор в начало текущей строки.
  2. Введите # чтобы закомментировать строку.
  3. Нажмите Enter (получает комментарий в вашу историю).

Получение команды:

  1. Нажимайте ↑, пока не дойдете до прокомментированной команды.
  2. Нажмите Home или Ctrl+A, чтобы переместить курсор в начало строки.
  3. Нажмите Удалить, чтобы удалить # . Теперь у вас есть оригинальная команда.

Вот отличная страница Википедии, которая включает в себя многие из этих ярлыков и многое другое.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .