현재 디렉토리에 다음 파일이 있다고 가정 해 보겠습니다.
buildBar.bat
buildFoo.bat
buildHouse.bat
그리고 나는 내 명령 프롬프트에서 다음을 입력 ./bu
한 후와 TAB.
-
Bash에서는 다음으로 확장됩니다.
./build
-
PowerShell에서는
./buildBar.bat
목록의 첫 번째 항목으로 확장됩니다 . -
Cmd에서 동작은 PowerShell과 동일합니다.
Bash 동작을 선호합니다. PowerShell이 Bash처럼 동작하도록하는 방법이 있습니까?
답변
새 버전의 PowerShell에는이 작업을 수행하는 데 사용할 수있는 PSReadline이 포함됩니다.
Set-PSReadlineKeyHandler -Key Tab -Function Complete
영구적으로 만들려면이 명령을 C : \ Users \ [User] \ Documents \ WindowsPowerShell \ profile.ps1에 넣습니다.
답변
이제 PowerShell에서 PSReadline을 사용하여 Bash 스타일 완성을 수행 할 수 있습니다.
PowerShell에서 Bash와 유사한 탭 완성 블로그 게시물을 확인하십시오 .
답변
답변
tab
이전 인수 / 매개 변수가 아닌 명령 이름 만 완성합니다.
또한 히스토리의 인수로 전체 명령을 자동 완성하려면 아래 키 바인딩을 설정하십시오.
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
이제 명령 이름의 몇 문자를 입력하고 위 / 아래 화살표를 사용하여 히스토리에서이 명령 (인수 포함)을 자동 완성합니다.
실시간 절약.
답변
원하는대로 TabExpansion 함수를 수정하십시오. Tab 키를 다시 누르면 원래 키를 누른 위치에서 새로운 제안이 수정되면 끝까지 완료 될 수 있습니다. 나는 실제 행동을 강력히 선호하고 가능한 한 빨리 줄을 쓰길 원합니다. 마지막으로 와일드 카드 확장을 잊지 마세요. 예 : bu * h [Tab]이 자동으로 buildHouse.bat로 완료됩니다.
답변
파워 쉘 핵심으로 우리는 PSReadLine에 대한 PredictionSource 속성을 설정할 수 있습니다 역사를 자동 제안을 얻을 수 있습니다. 자세한 내용은 YouTube 동영상을 참조하십시오.
https://youtu.be/I0iIZe0dUNw
답변
# keep or reset to powershell default
Set-PSReadlineKeyHandler -Key Shift+Tab -Function TabCompletePrevious
# define Ctrl+Tab like default Tab behavior
Set-PSReadlineKeyHandler -Key Ctrl+Tab -Function TabCompleteNext
# define Tab like bash
Set-PSReadlineKeyHandler -Key Tab -Function Complete