четверг, 17 января 2013 г.

Горячие клавиши консоли (cmd.exe) в Windows

Всё началось с того, что в окне командного интерпретатора или, по-народному, консоли я нажал F7:


Что-то новое! Не могу сказать, что я был потрясён (я всегда знал, что командный интерпретатор Windows сильно отстаёт от командного интерпретатора в Linux и даже в подмётки ему не годится), но был приятно удивлён :)


Описание горячих клавиш приводится ниже:


Стрелки Влево / Вправо
Перемещение курсора назад / вперед на один символ.

Ctrl + Влево / Вправо
Перемещение курсора назад / вперед на одно слово.

Home / End
Перемещение курсора на начало / конец строки.

Стрелки Вверх / Вниз
Прокрутка вверх (и обратно) через список хранимых команд (так называемый буфер команд или истории). Каждое нажатие на клавишу напоминает предыдущую команду и отображает её в командной строке.

PageUp / PageDown
Напечатать самую первую / последнюю команду в истории хранимых команд.

Insert
Переключить вставки режим замены (блок курсора подразумевает режим замены).

Esc
Стирание текущей строки.


F1
Удивительно, но это не справка. В консоли эта клавиша работает точно также как и стрелка вправо, т.е. выводит по одному символу из последней введенной (либо выбранной в истории) команды.

F2 + <символ>
Копирует команду выбранную в истории до указанного символа. Например, если последняя введенная вами команда выглядела вот так:
ping ya.ru
то после нажатия комбинации клавиш F2 + y вы получите:
ping

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

Стоит упомянуть и еще одну особенность клавиш F1, F2 и F3. Дело в том, что они позволяют работать с командами из истории как с шаблонами. Например, если после все той же команды:
ping ya.ru
вы введете символ r, а потом нажмете, к примеру, F3, то увидите в командной строке:
ring ya.ru
Честно говоря, практического применения этой фиче я пока так и не нашел, но она имеет место быть.

F4 + <символ>
Удаляет все что находится в командной строке до указанного символа, т.е. если ввести все тот же многострадальный:
ping ya.ru
поместить курсор в начало строки и нажать комбинацию F4 + y, то ваш ввод чудесным образом превратится в:
ya.ru

F5
Работает точно также как и стрелка вверх, поэтому, на мой взгляд, в дополнительных пояснениях не нуждается.

F6
Вставляет символ EOF на текущую позицию командной строки, что аналогично нажатию комбинации Ctrl + Z.

F7
Та самая клавиша из-за которой я и затеял написание этого поста. Я столько лет мечтал о том, чтобы такая функция появилась в виндовой консоли, и я  был очень удивлен тем фактом, что она там есть уже давно (как минимум, со времен Windows XP).  Что это за функция? Смотрите сами:


Да, это диалоговое окно (внезапно!) с историей введенных команд. Что с этим окном делать, думаю, объяснять не нужно.

Alt + F7
Очищает историю команд.

<символ(ы)> + F8
Перебирает команды, которые начинаются с символов уже введенных в командную строку, т.е. если в истории есть следующие команды:
echo %time%
netstat
echo %date%
то при вводе символа e и нажатии на F8  на экране появятся только:
echo %time%
echo %date%
Кстати, если перед нажатием F8 ничего не вводить, то эта клавиша будет работать также как и стрелка вверх, но с небольшим отличием — перебор строк будет осуществляться циклично, т.е. после первой команды из списка будет выведена последняя.

F9 + <число>
Вставляет команду из истории под соответствующим номером. К примеру, в ситуации приведенной на скрине выше при нажатии комбинации F9 + 4 к консоли появится:
ipconfig

Использовались следующие материалы:
http://iqa.com.ua/tricks/command-line-hot-keys
http://kompkimi.ru/?p=25818

1 комментарий:

  1. SHift+стрелки(лево право) - Выделяет текст, Ctr+C копирует)

    ОтветитьУдалить