Як ефективно використовувати автозаповнення вкладки Cmd?


45

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

Нещодавно на роботі я почав використовувати командний рядок Windows та Cmd. Я дуже повільний у Cmd. Він має функцію автозаповнення, але працює інакше. Я думаю, що я розумію, як це працює, але я не розумію, як це ефективно використовувати, насправді це часто уповільнює мене. Тому я запитую, як використовувати, як ефективно використовувати автозаповнення Cmd?


Дозвольте навести приклад. Спочатку я опишу, як я використовую Bash, потім як я намагаюся використовувати Cmd і що йде не так.

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

Те, як працює автозаповнення Баша, полягає в тому, що клавіша вкладки розширюється лише за умови унікального розширення. Інакше нічого не відбувається, але ви можете натиснути вкладку вдруге, щоб перелічити можливі розширення.

Тож, щоб перейти до Норвегії в Баші, я набираю, cdа потім роблю наступні натискання клавіш:

  1. e tab для europe-
  2. n tab (нічого не відбувається)
  3. tabзнову. У ньому перелічено europe-netherlandsі europe-norwayяк можливі розширення.
  4. o tabдля europe-norway.

Чудово! Спасибі Баш.

Однак, коли я пробую ті самі клавіші в Cmd, він розширюється e tabдо europe-albania, що буває першою папкою, що починається з 'e', ​​але це не папка, яку я хотів! Що мені робити зараз - чи можна ввести Албанію в Норвегію? Або я повинен скасувати команду Escapeі ввести все з нуля?


Чи можете ви скористатися меню, наприклад. пакетне меню?
Ендоро

На даний момент відповідь Стефана для вас правильна. Просто введіть cd eі натисніть TABклавішу. Що тут робить Windows, він починає сортувати папки в алфавітному порядку. Як ніби Europe-albaniaраніше europe-norway, просто продовжуйте натискати TABклавішу постійно, поки не отримаєте потрібний каталог.
avirk

5
@Avirk, тож найшвидший шлях з Албанії до Норвегії - натиснути клавішу вкладки 27 разів?
Полковник Паніка

Відповіді:


47

Оновлення на 1 рік : я дійшов висновку, що автозаповнення Cmd є непридатним, і перестав його використовувати.

Я встановив Clink, який дає автоматичне завершення стилю Bash у Cmd.

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

Це геніально.


Яка дивовижна знахідка!
ysap

Так, Клінк найкращий для цього. Я використовую Clink та Git для Windows, щоб забезпечити кращу альтернативу cmd.
Метт

На відміну від оболонки bash, вона не автоматично заповнює імена файлів.
Яшбхатт

15

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

В іншому випадку ви можете спробувати альтернативну оболонку, а не старовинний командний рядок, щоб знайти той, який найкраще відповідає вашим потребам.

Ось список деяких консолей, що імітують bash у Windows:

win-bash
Road Bash
Git Bash описаний у цій статті

Інші консолі:

Windows PowerShell Microsoft та стаття у Вікіпедії (найпотужніша)
Консоль із статтею
ColorConsole
PowerCmd
GS.EXE
PyCmd

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


3
+1. Cmd завжди був жалюгідним приводом для оболонки, і Microsoft давно відмовився від будь-якої її розробки. Оскільки ви вже працюєте в баші, найкращим варіантом буде продовжувати його використовувати, встановлюючи Cygwin.
Ендрю Шульман

1
звичайно, PowerShell найкращий у цьому списку;)
Тейлор Гібб

Щоб доповнити список трохи більше: Було також 4DOSі краще 4NT, обидва досить популярні в колишні часи і набагато потужніші за command.comабо cmd.exe. Схоже, що Take Command( jpsoft.com/take-command-windows-scripting.html ) є їх наступником. Однак я ніколи не користувався цим особисто (і це комерційно).
mpy

1
На моєму Win7, автозаповнення PowerShell (використовуючи TAB) (неправильно) поводиться так само, як у CMD.
ysap

11

Натискання TABклавіші перемикається через усі існуючі каталоги.

Спробуйте ввести лише cdпотім TABкілька разів, і ви побачите принцип.

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

наприклад, приведе вас до другого матчу (країни / Європа-Сербія)


4

Bash in linux намагається зіставити та заповнити всі перші символи, спільні для всіх файлів.

З іншого боку, командний рядок Windows просто заповнює командний рядок першим елементом, який відповідає.

наприклад: У linux bash: Після введення CD- TABфайлів \ e , bash перейде до країн \ europe- оскільки він відповідає всім назви файлів, які починаються з e, а потім ви можете ввести наступні кілька символів та натиснути TABще раз.

У командному рядку Windows: Після введення cd countries \ e TABкомандний рядок буде відповідати першому можливому імені файлу, яке починається з e, europe-albania у вашому випадку, але воно все ще пам'ятає, що ви ввели лише "e". Тож якщо натиснути TABще раз, він покаже наступний можливий збіг (за алфавітом), Європа-Андорра.

Якщо ви хочете швидше дістатися до Європи-Норвегії, ви можете:

  1. Введіть europe-no, а потім натисніть TABабо
  2. Наберіть e, а потім продовжуйте натискати, TABдоки не з’явиться Європа-Норвегія

2

Оновлення: Git Bash - це майже все, що мені потрібно

Використовуйте PowerShell ISE замість просто powerhell. Це дає вам доступ до автоматичного завершення IntelliSense, який створює список параметрів після введення або Ctrl+ Space. ISE також відкриває безліч інших цікавих можливостей, таких як заповнення вкладок та ін.

Недоліком є ​​те, що він не підтримує інтерактивні програми, такі як ssh або python shell.

Я фактично почав використовувати ConEmu сьогодні через цю мінус. ConEmu досить крутий.

Інтегроване сценарійне середовище Windows PowerShell (ISE) є одним з двох хостів для двигуна та мови PowerShell Windows. З його допомогою ви можете писати, запускати та перевіряти сценарії способами, недоступними в консолі Windows PowerShell. ISE додає забарвлення синтаксису, завершення вкладки, IntelliSense, візуальну налагодження та довідкову інформацію про контекст.

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

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



1

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

Right arrow →Ключ відтворюватиме останній символ символу рядка 1 за один раз. Я вважаю це корисним при перейменуванні файлів.

наприклад:

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

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

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

правий фокус зі стрілкою класно, але, на жаль, не працює Ctrl+Tab, і я ніколи не натискаю цю клавішу, щоб перейти до кінця рядка. Натискання стрілки вгору Homeабо Ctrl+Tabвиправлення кількох символів було б набагато швидше
phuclv

1

У Windows 10 ім'я файлу та ім’я каталогу можна використовувати символи.

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

cd *nor*<tab>

або

cd *way<tab>

Ви можете використовувати кілька «*» с, і є НЕ неявне початкові або кінцеві «*».


1

Досить просто використовувати regedit:

1) Пуск -> Запуск -> regedit 2) Перехід до наступного для поточного користувача або всіх користувачів системи,

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

3) Двічі клацніть на командному процесорі та змініть значення "9" у десятковій або "0x9" у шістнадцятковій. 4) Це дозволить TAB автоматично заповнити.

Відкрийте командний рядок і спробуйте його.


0

У Windows 10 (7?) Використовуйте клавішу shift +, щоб перейти через доступні параметри автозаповнення, задані частковим шляхом.

Якщо дзвонити без нічого, він перейде через всі доступні параметри в каталозі.


1
Це нічого не робить, Shift+Tabпросто перевертає перебір замовлення , так само , як додавання зсуву в будь-які інші ярлики перемикання , як Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... З Tab в поодинці ви також перебирати всі доступні варіанти в каталозі
phuclv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.