Powiedzmy, że mam następujące pliki w moim bieżącym katalogu:
buildBar.bat
buildFoo.bat
buildHouse.bat
I wpisuję następujące polecenie w wierszu polecenia, ./bu
a następnie TAB.
W Bash rozszerza się do
./build
W PowerShell zostaje rozwinięty do
./buildBar.bat
- pierwszej pozycji na liście.W Cmd zachowanie jest takie samo jak w programie PowerShell.
Wolę zachowanie Bash - czy istnieje sposób, aby PowerShell zachowywał się jak Bash?
powershell
cmd
tab-completion
RobSiklos
źródło
źródło
bash
;)Odpowiedzi:
Nowe wersje programu PowerShell obejmują PSReadline, którego można użyć do tego:
Aby to było trwałe, umieść to polecenie w C: \ Users \ [User] \ Documents \ WindowsPowerShell \ profile.ps1.
źródło
MenuComplete
zamiastComplete
jest bardziej podobny do basha, pozwala za pomocą klawiszy strzałek wybierać spośród dostępnych opcjinew-item $profile -itemtype file -force
C:\Users\[User]\Documents\WindowsPowerShell\profile.ps1.
faktycznie działaćnew-item $profile -itemtype file -force
touch
:-(Możliwe jest teraz, aby PowerShell wykonywał uzupełnianie w stylu Bash, używając PSReadline.
Sprawdź wpis na blogu Uzupełnianie kart w stylu Bash w PowerShell .
źródło
Spójrz tutaj, a nie tak naprawdę swoje dezyderaty:
PowerTab
ale myślę, że to najlepsza funkcja rozszerzania zakładek dla konsoli PowerShell !!!
źródło
tab
uzupełnia tylko nazwę polecenia, a nie poprzednie argumenty / parametry.aby również automatycznie uzupełnić kompletne polecenie z argumentami z historii, ustaw poniższe przypisanie klawiszy.
Teraz wpisz kilka znaków nazwy polecenia i użyj strzałek w górę / w dół, aby automatycznie uzupełnić to polecenie (z argumentami) z historii.
oszczędność czasu rzeczywistego.
źródło
Zmodyfikuj funkcję TabExpansion, aby osiągnąć to, co chcesz. Pamiętaj, że być może zakończy się to do końca, jeśli ponownie naciśniesz klawisz Tab, nowa sugestia zmodyfikuj od miejsca, w którym pierwotnie nacisnąłeś klawisz. Zdecydowanie wolę rzeczywiste zachowanie, chcę, aby wiersz został napisany tak szybko, jak to możliwe. Na koniec nie zapomnij o rozwinięciu symboli wieloznacznych, na przykład: bu * h [Tab] automatycznie kończy tworzenie buildHouse.bat
źródło
Dzięki Powershell Core możemy ustawić właściwość PredictionSource dla PSReadLine jako History, aby uzyskać automatyczną sugestię. Więcej informacji można znaleźć w filmie YouTube https://youtu.be/I0iIZe0dUNw
źródło
źródło