20

Недавно я начал использовать bash и обнаружил некоторые действительно замечательные функции (не обязательно из коробки, но их можно настроить):

  • Стрелки вверх / вниз поддерживают частичное завершение: введите "git", нажмите стрелку ВВЕРХ, и вы сможете просмотреть последние команды, начинающиеся с "git" (даже в предыдущих сессиях!)
  • Ctrl-R будет искать в вашей истории команд (по некоторым причинам называется reversed-i-search)
  • Я уверен, что многое, многое другое я не знаю.

Есть хорошая альтернатива cmd.exe для Windows, которая поддерживает такие функции? Я просмотрел самые популярные ответы на этот вопрос, но не нашел, поддерживает ли какая-либо из популярных альтернатив.

6 ответов6

22

Загрузите и установите консоль Powershell 2.0 (если вы используете Windows 7, она уже установлена).

Он поддерживает все устаревшие команды, а также псевдонимы, макросы и многое другое ...

Вот несколько основных советов.

мощности оболочки диалог

get-history: отображает список ранее введенных команд.

invoke-history 35: выполняет команду # 35 в списке get-history

`: Нажмите клавишу обратного апострофа, чтобы вставить разрыв строки, или как> escape-символ, чтобы сделать буквальный символ. Вы также можете разбить строку на символе (|).

Alt+ Пробел + E: отображение контекстного меню редактирования с параметрами « Пометить», «Копировать», «Вставить», «Выделить все», «Прокрутить» и «Найти» . Затем вы можете нажать K для метки, Y для копирования, P для вставки, S для выбора всех, L для прокрутки через экранный буфер или F для поиска текста в экранном буфере. Чтобы скопировать экранный буфер в буфер обмена, нажмите Alt+ Пробел + E+ S, а затем нажмите Alt+ Пробел + E+ Y.

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

Ctrl+C: выйти из подпрограммы или прекратить выполнение.

Ctrl + End : удалить все символы в строке после курсора.

Ctrl + Стрелка влево || Ctrl + стрелка вправо : сдвиг влево или вправо по одному слову за раз.

Ctrl + S: Пауза || возобновить отображение вывода.

Esc Очистить текущую строку.

F1 Перемещает курсор на один символ вправо в командной строке. В конце строки вставляет один символ из текста вашей последней команды.

F2 Создает новую командную строку, копируя последнюю командную строку до введенного вами символа.

F3 Завершает командную строку содержимым вашей последней командной строки, начиная с текущей позиции курсора и заканчивая концом строки.

F4 Удаляет символы из текущей командной строки, начиная с текущей позиции курсора и заканчивая вводимым символом.

F5 Сканирует в обратном направлении историю вашей команды.

F7: похоже на get-history Отображает всплывающее окно с вашей историей команд и позволяет вам выбрать команду. Используйте клавиши со стрелками для прокрутки списка. Нажмите Enter, чтобы выбрать команду для запуска, или нажмите стрелку вправо, чтобы поместить текст в командную строку.

F8 Использует текст, который вы ввели для сканирования в обратном направлении в истории команд для команд, которые соответствуют тексту, который вы уже вводили в командной строке.

F9 Запускает определенную пронумерованную команду из вашей истории команд. Номера команд указываются при нажатии клавиши F7 или get-history .

Page Up / Page Down: получает первую / последнюю команду в истории команд.

Щелчок правой кнопкой мыши Если QuickEdit отключен, отображается контекстное меню редактирования с параметрами «Отметить», «Копировать», «Вставить», «Выбрать все», «Прокрутка» и «Найти». Чтобы скопировать экранный буфер в буфер обмена, щелкните правой кнопкой мыши, выберите «Выбрать» и нажмите клавишу «Ввод».

Tab / Shift+Tab: нажмите клавишу Tab или Shift+Tab, чтобы получить доступ к функции расширения вкладки, которая включает автозаполнение папки или имени файла.

11

Clink расширяет командную строку Windows и добавляет следующие функции

  • Мощное Bash-подобное редактирование строк из библиотеки Readline GNU
  • Превосходное завершение пути (TAB)
  • Вставить из буфера обмена (Ctrl-V)
  • Поддержка завершения исполняемых файлов / команд и переменных среды
  • Отменить / Повторить (Ctrl-_ или Ctrl-X, Ctrl-U) Улучшенная история командной строки. Сохраняется через сеансы
  • Доступный для поиска (Ctrl-R и Ctrl-S). Расширение истории (например, !!,! И!$). Завершение сценария с использованием Lua.
11

Вам не нужно заменять командную строку! В Windows многие из этих функций встроены в командную строку, например:

  • История команд: F7 и F9

  • Добавляйте по 1 букве за раз из предыдущей команды: F1

  • Автозаполнение каталогов и имен файлов: вкладка

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

5

Вин-Баш?

Автономный bash для Windows

win-bash - это порт Windows известного GNU Bash (см. домашнюю страницу GNU Bash).

В отличие от других портов bash для окон (например, cygwin bash), win-bash не требует специальной среды или библиотек DLL. Есть только один двоичный файл и все.

Я не уверен, насколько это функционально и надежно.


Также есть команда take в jpsoftware - но, к сожалению, это было упомянуто в другом вопросе, который вы упомянули, так что, предположительно, не делает то, что вы хотите.

3

Команда Take Command уже упоминалась, но TCC/LE (подмножество) - это бесплатная замена CMD с гораздо большим количеством функций, команд и настраиваемостью. Это дает некоторый способ создания подобного bash опыта, когда речь идет о сочетаниях клавиш, псевдонимах и окраске.

Он может сделать несколько вещей, которые вы упомянули, включая частичное завершение истории с помощью стрелок Up/Down . CTRL-B повторяет путь из предыдущей команды. Попробуйте набрать option чтобы увидеть все варианты.

TCC/LE также очень хорошо работает в Console2.

Кроме того, вы можете, конечно, использовать Bash на Windows с Cygwin.

1

Расширение командной строки PyCmd с открытым исходным кодом выполняет большинство ваших задач .

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

образ

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