37

Я годами использовал оболочку Bash в Linux и очень быстро с ней справляюсь. Часто обращаясь к автозаполнению, нажимая клавишу табуляции, я могу написать длинные команды в несколько нажатий клавиш.

Недавно на своей работе я начал использовать командную строку Windows и Cmd. Я очень медленно в Cmd. Он имеет функцию автозаполнения, но работает по-другому. Я думаю, что понимаю, как это работает, но я не понимаю, как использовать это эффективно, на самом деле это часто замедляет меня. Поэтому я спрашиваю, как использовать, как эффективно использовать автозаполнение Cmd?


Позвольте мне привести пример. Сначала я опишу, как я использую Bash, затем как я пытаюсь использовать Cmd и что идет не так.

Предположим, что папки в текущем каталоге имеют имена, сделанные из континента и страны, например. africa-nigeria , asia-india , europe-france , и что я хочу поменять папку на europe-norway .

Способ автозаполнения в Bash заключается в том, что клавиша Tab раскрывается только при наличии уникального расширения. В противном случае ничего не происходит, но вы можете нажать Tab во второй раз, чтобы увидеть список возможных расширений.

Поэтому, чтобы переехать в Норвегию в Bash, я набираю cd а затем нажимаю следующие клавиши:

  1. Электронная вкладка для europe-
  2. вкладка n (ничего не происходит)
  3. Снова вкладка . В нем перечислены europe-netherlands и europe-norway качестве потенциальных расширений.
  4. o вкладка для europe-norway .

Большой! Спасибо Баш.

Тем не менее, когда я пытаюсь использовать те же клавиши в Cmd, он расширяет вкладку e до europe-albania , которая оказывается первой папкой, начинающейся с 'e', но не та папка, которую я хотел! Что мне теперь делать - возможно ли превратить Албанию в Норвегию? Или я должен отменить команду с Escape и набрать все с нуля?

9 ответов9

39

Обновление за 1 год: я пришел к выводу, что автозаполнение Cmd невозможно, и перестал его использовать.

Я установил Clink, который дает вам автозаполнение в стиле Bash в Cmd.

Clink сочетает в себе встроенную оболочку Windows cmd.exe с мощными функциями редактирования командной строки библиотеки GNU Readline, которая обеспечивает богатые возможности завершения, истории и редактирования строк

Это великолепно.

15

Cygwin позволит вам запускать оболочку Bash (кроме многих других программ POSIX) под Windows.

В противном случае вы можете попробовать альтернативную оболочку, а не древнюю командную строку, чтобы найти ту, которая лучше всего соответствует вашим потребностям.

Вот список некоторых консолей, которые эмулируют bash в Windows:

Победа-баш
Road Bash
Git Bash описан в этой статье

Другие консоли:

Windows PowerShell от Microsoft и ее статья в Википедии (самая мощная)
Консоль со статьей
ColorConsole
PowerCmd
gs.exe
PyCmd

[ EDIT ] С тех пор я обнаружил Cmder , отличную замену табличной консоли, которая также несет в себе большую часть поведения оболочки Linux, а также порт многих приложений для обработки файлов Linux, таких как grep.

11

Нажатие клавиши TAB переключает все существующие каталоги.

Попробуйте ввести просто cd затем TAB несколько раз, и вы увидите принцип.

cd countries/europe-s[TAB][TAB] 

например приведёт вас ко второму матчу (страны / европа-сербия)

4

Bash в Linux пытается сопоставить и автоматически заполнить все первые символы, которые являются общими для всех файлов.

С другой стороны, командная строка windows просто заполняет командную строку первым соответствующим элементом.

Например: В Linux Bash: После ввода CD стран \ E TAB, Bash перейдет в страны \ Европа - так как он соответствует всем именам файлов, которые начинаются с E, а затем вы можете ввести следующие несколько символов и снова нажмите TAB .

В командной строке Windows: после ввода cd country \e TAB командная строка будет соответствовать первому возможному имени файла, которое начинается с e, europe-albania в вашем случае, но при этом все равно помнит, что вы ввели только «e». Поэтому, если вы снова нажмете TAB, он покажет следующее возможное совпадение (в алфавитном порядке), европа-андорра.

Если вы хотите быстрее попасть в Европу-Норвегию, вы можете:

  1. Введите europe-no и нажмите клавишу TAB или
  2. Введите e, а затем продолжайте нажимать TAB, пока он не покажет Европа-Норвегия
2

Обновление: Git Bash - почти все, что мне нужно

Используйте PowerShell ISE вместо просто powershell. Это дает вам доступ к автозаполнению intelliSense, которое порождает список опций после ввода или Ctrl+Пробел. ISE также открывает множество других интересных возможностей, таких как завершение вкладок и другие вещи.

Недостатком является то, что он не поддерживает интерактивные приложения, такие как ssh или python shell.

Я фактически начал использовать ConEmu сегодня из-за этого недостатка. ConEmu довольно крутой.

Интегрированная среда сценариев Windows PowerShell (ISE) является одним из двух узлов для механизма и языка Windows PowerShell. С его помощью вы можете писать, запускать и тестировать сценарии способами, недоступными в консоли Windows PowerShell. ISE добавляет окраску синтаксиса, завершение табуляции, IntelliSense, визуальную отладку и контекстно-зависимую справку.

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

https://technet.microsoft.com/en-us/library/dd819514.aspx

1

В Windows 10 для завершения имени файла и имени каталога могут использоваться подстановочные знаки.

Для примера перехода на europe-norway любая из этих команд должна работать:

cd *nor*<tab>

или же

cd *way<tab>

Вы можете использовать несколько символов '& ast;', и не существует неявного начального или конечного '& ast;'.

1

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

Стрелка вправо → клавиша будет воспроизводить последний символ 1 строки за раз. Я считаю это полезным при переименовании файлов.

например:

ren file.1.mp4 Guitar.Licks.01.Pentatonic.2.notes.per.string.mp4

Удерживайте стрелку вправо → до 1, затем введите 2. Удерживайте стрелку вправо до 1, затем введите 2. Удерживайте стрелку вправо до 2, затем введите 3, удерживайте стрелку вправо до конца. Результат будет ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
0

Проще говоря, используя regedit:

1) Пуск -> Выполнить -> regedit 2) Перейти к следующему для текущего пользователя или всех пользователей системы,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Командный процессор HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Командный процессор

3) Дважды щелкните командный процессор и измените значение на "9" в десятичном виде или "0x9" в шестнадцатеричном. 4) Это позволит автозаполнению вкладки.

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

0

В windows 10(7?) используйте shift + tab для циклического перебора доступных вариантов автозаполнения с указанием частичного пути.

При вызове с пустым циклом он будет перебирать все доступные опции в каталоге.

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