Jak efektywnie korzystać z autouzupełniania zakładek Cmd?

45

Używam powłoki Bash w Linuksie od lat i jestem z nią bardzo szybki. Często apelując o autouzupełnianie po naciśnięciu klawisza tab, jestem w stanie pisać długie polecenia w kilku naciśnięciach klawiszy.

Ostatnio w mojej pracy zacząłem używać wiersza polecenia systemu Windows i Cmd. Jestem bardzo wolny w Cmd. Ma funkcję autouzupełniania, ale działa inaczej. Wydaje mi się, że rozumiem, jak to działa, ale nie rozumiem, jak skutecznie go używać, w rzeczywistości często mnie spowalnia. Pytam więc, jak korzystać z efektywnego korzystania z autouzupełniania Cmd?


Podam przykład. Najpierw opiszę, jak korzystam z Basha, potem jak próbuję używać Cmd i co się dzieje.

Załóżmy, że foldery w bieżącym katalogu mają nazwy utworzone z kontynentu i kraju, np. africa-nigeria, asia-india, europe-france, I że chcę zmienić folderu do europe-norway.

Autouzupełnianie Bash działa tak, że klawisz tab rozszerza się tylko wtedy, gdy występuje unikalne rozszerzenie. W przeciwnym razie nic się nie stanie, ale możesz nacisnąć klawisz Tab po raz drugi, aby wyświetlić listę możliwych rozszerzeń.

Aby przenieść się do Norwegii w Bash, piszę, cda następnie wykonuję następujące naciśnięcia klawiszy:

  1. e tab dla europe-
  2. n tab (nic się nie dzieje)
  3. tabjeszcze raz. Wymienia europe-netherlandsi europe-norwayjako potencjalne rozszerzenia.
  4. o tabdla europe-norway.

Świetny! Dzięki Bash.

Jednak gdy próbuję tych samych kluczy w Cmd, rozwija się e tabdo europe-albania, który jest pierwszym folderem rozpoczynającym się na „e”, ale nie jest to folder, którego chciałem! Co powinienem teraz zrobić - czy jest możliwe, aby Albanię przenieść do Norwegii? Czy też muszę anulować polecenie Escapei wpisać wszystko od zera?

Pułkownik Panika
źródło
Czy możesz użyć menu, np. menu wsadowe?
Endoro
W tej chwili odpowiedź Stephana jest dla ciebie poprawna. Po prostu wpisz, cd ea następnie naciśnij TABklawisz. To, co robi tutaj Windows, zaczyna sortować foldery w kolejności alfabetycznej w słowach. Tak jak Europe-albaniawcześniej europe-norway, po prostu naciskaj TABprzycisk, aż nie uzyskasz żądanego katalogu.
avirk
5
@Avirk, więc najszybszym sposobem z Albanii do Norwegii jest naciśnięcie klawisza Tab 27 razy?
Pułkownik Panic

Odpowiedzi:

47

Roczna aktualizacja : doszedłem do wniosku, że autouzupełnianie Cmd jest bezużyteczne i przestałem go używać.

Zainstalowałem Clink, który zapewnia automatyczne uzupełnianie w stylu Bash w Cmd.

Clink łączy natywną powłokę systemu Windows cmd.exe z potężnymi funkcjami edycji wiersza poleceń biblioteki GNU Readline, która zapewnia bogate możliwości uzupełniania, historii i edycji linii

To znakomicie.

Pułkownik Panika
źródło
Co za niesamowite znalezisko!
ysap
Tak, Clink jest do tego najlepszy. Używam Clink i Git dla Windows, aby zapewnić lepszą alternatywę cmd.
Matt
W przeciwieństwie do powłoki bash, nie uzupełnia to automatycznie nazw plików.
Yashbhatt
15

Cygwin pozwoli ci na uruchomienie powłoki Bash (oprócz wielu innych programów środowiska POSIX) w systemie Windows.

W przeciwnym razie możesz spróbować alternatywnej powłoki zamiast starożytnego Wiersza polecenia, aby znaleźć taką, która najlepiej odpowiada Twoim potrzebom.

Oto lista niektórych konsol emulujących bash w systemie Windows:

win-bash
Road Bash
Git Bash opisany w tym artykule

Inne konsole:

Microsoft Windows PowerShell , a jej artykuł wikipedia (najmocniejszy)
Konsola z artykułu
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDYCJA ] Od tego czasu odkryłem Cmder, który jest doskonałym zamiennikiem konsoli tabelarycznej, który niesie ze sobą wiele zachowań powłoki Linux, a także port wielu aplikacji do obsługi plików Linux, takich jak grep.

harrymc
źródło
3
+1. Cmd zawsze było żałosną wymówką dla powłoki, a Microsoft dawno temu zrezygnował z jej rozwoju. Ponieważ jesteś już wydajny w bashu, najlepszą opcją będzie kontynuowanie korzystania z niego, instalując Cygwin.
Andrew Schulman,
1
oczywiście PowerShell jest najlepszy na tej liście;)
Taylor Gibb
Aby uzupełnić listę nieco więcej: Było też 4DOSlub lepiej 4NT, oba dość popularne w dawnych czasach i znacznie potężniejsze niż command.comlub cmd.exe. Wygląda na to, że Take Command( jpsoft.com/take-command-windows-scripting.html ) jest ich następcą. Jednak nigdy nie użyłem tego osobiście (i jest to reklama).
mpy
1
W moim Win7 autouzupełnianie PowerShell (przy użyciu TAB) (mis) zachowuje się tak jak w CMD.
ysap
11

Naciśnięcie TABklawisza przełącza wszystkie istniejące katalogi.

Spróbuj wejść właśnie cdwtedy TABkilka razy, a zobaczysz zasadę.

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

na przykład zabierze Cię do drugiego meczu (kraje / Europa-Serbia)

Stephan
źródło
4

Bash w systemie Linux próbuje dopasować i automatycznie wypełnić wszystkie pierwsze znaki wspólne dla wszystkich plików.

Z drugiej strony wiersz poleceń systemu Windows po prostu automatycznie wypełnia wiersz polecenia pierwszym pasującym elementem.

np .: W Linuksie bash: Po wpisaniu cd krajów \ e TAB, bash przejdzie do krajów \ europa - ponieważ pasuje do wszystkich nazw plików zaczynających się na e, a następnie możesz wprowadzić kilka następnych znaków i nacisnąć TABponownie.

W wierszu polecenia systemu Windows: po wpisaniu cd krajów \ e TABwiersz polecenia będzie pasował do pierwszej możliwej nazwy pliku, która zaczyna się od e, europa-albania w twoim przypadku, ale nadal pamięta, że ​​wpisałeś tylko „e”. Więc jeśli naciśniesz TABponownie, wyświetli się następny możliwy mecz (kolejność alfabetyczna), europa-andora.

Jeśli chcesz szybciej dostać się do Europy-Norwegii, możesz:

  1. Wpisz europe-no, a następnie naciśnij TABlub
  2. Wpisz e, a następnie naciskaj przycisk, TABaż wyświetli się Europa-Norwegia
Chirag Bhatia - chirag64
źródło
2

Aktualizacja: Git Bash to właściwie wszystko, czego potrzebuję

Użyj programu PowerShell ISE zamiast po prostu PowerShell. Daje to dostęp do autouzupełniania intelliSense, który wyświetla listę opcji po wpisaniu lub Ctrl+ Space. ISE otwiera również wiele innych interesujących możliwości, takich jak uzupełnianie kart i inne rzeczy.

Minusem jest to, że nie obsługuje interaktywnych aplikacji, takich jak powłoka ssh lub python.

Z tego powodu zacząłem używać ConEmu . ConEmu jest całkiem fajny.

Zintegrowane środowisko skryptowe Windows PowerShell (ISE) jest jednym z dwóch hostów dla silnika i języka Windows PowerShell. Dzięki niemu możesz pisać, uruchamiać i testować skrypty w sposób niedostępny w konsoli Windows PowerShell. ISE dodaje kolorowanie składni, uzupełnianie tabulatorów, IntelliSense, debugowanie wizualne i pomoc kontekstową.

ISE pozwala uruchamiać polecenia w panelu konsoli, ale obsługuje również panele, których można używać do jednoczesnego przeglądania kodu źródłowego skryptu i innych narzędzi, które można podłączyć do ISE. Możesz nawet otworzyć wiele okien skryptu jednocześnie, co jest szczególnie przydatne, gdy debugujesz skrypt, który korzysta z funkcji zdefiniowanych w innych skryptach lub modułach.

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

ThaJay
źródło
1

Przytrzymaj Tabklawisz, aby przejść do kolejnych opcji i Shift+, Tababy cofnąć się.

Right arrow →Klawisz odtworzy po raz ostatni znak cmdline 1. Przydaje mi się to podczas zmiany nazw plików.

na przykład:

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

Przytrzymaj right arrow →do 1, a następnie wpisz 2. Przytrzymaj prawą strzałkę do 1, a następnie wpisz 2. Przytrzymaj prawą strzałkę do 2, a następnie wpisz 3, przytrzymaj prawą strzałkę do końca. Wynik byłby ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
dchip
źródło
lewy strzałka jest fajny, ale niestety nie działa Ctrl+Tabi nigdy nie naciskam tego klawisza, aby przejść do końca linii. Naciśnięcie strzałki w górę Homelub, Ctrl+Tababy naprawić kilka znaków, byłoby znacznie szybsze
phuclv
1

W systemie Windows 10 do uzupełniania nazw plików i nazw katalogów można używać symboli wieloznacznych.

Na przykład przejście na europę norweską jedno z tych poleceń powinno działać:

cd *nor*<tab>

lub

cd *way<tab>

Można użyć wielu „*” s, a tam jest nie niejawna prowadzące lub końcowe „*”.

Tymotka
źródło
1

Po prostu używając regedit:

1) Start -> Uruchom -> regedit 2) Przejdź do następujących instrukcji dla bieżącego użytkownika lub wszystkich użytkowników systemu,

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command Processor

3) Kliknij dwukrotnie procesor poleceń i zmień wartość na „9” w systemie dziesiętnym lub „0x9” w systemie szesnastkowym. 4) Umożliwi to automatyczne uzupełnianie TAB.

Otwórz ponownie wiersz polecenia i wypróbuj.

Jeżozwierz
źródło
0

W Windows 10 (7?) Użyj Shift + Tab, aby przełączać dostępne opcje autouzupełniania, podając częściową ścieżkę.

Gdy zostanie wywołany bez niczego, przejdzie przez wszystkie dostępne opcje w katalogu.

Michał.
źródło
1
To nic nie robi, Shift+Tabpo prostu odwraca kolejność iteracji , podobnie jak dodanie przesunięcia do innych skrótów przełączających jak Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... z języczkiem sam będzie również cykl przez wszystkich dostępnych opcji w katalogu
phuclv