PowerShell에서 bash의 Ctrl-r과 동일


19

아무도 Windows Powershell에서 매우 유용한 bash [Ctrl-r](및 [Ctrl-o]) 의 역방향 명령 검색 기능을 갖는 방법을 알고 있습니까?

C-r더 강력한 arrow up기록 조작 C-r입니다. 이전에 입력 한 명령 내에서 뒤로 검색한다는 점에서 emacs와 같습니다 . 그런 다음 C-o해당 명령을 실행 한 후 바로 다음 명령을 라인에 배치합니다. 전달 된 일련의 명령을 효율적으로 반복 할 수 있습니다. 또한 세션 기록이 아니라 저장된 기록을 찾습니다. ( ~/.bash_history파일). 어느 것이나 유용합니다.

감사.

추신 : 보너스로주기별로 작동하지 않는 탭 완성도 끔찍합니다.


ctrl O는 무엇을 복제하고자합니까? 더 많은 정보 우리는 항상 좋은 ...
오스틴 T 프랑스어

그래, 질문을 편집 :)
v.oddou

2
이 기능이 지원되지 않는다고 생각합니다. PowerShell 3에는 PSConsoleHostReadline유용한 후크 가 있습니다. 시작하기에 좋은 장소 는 해당 후크를 사용하는 PSReadLine 을 사용하는 것입니다. PSReadLine은 ctrl-o를 지원하지 않지만 ctrl-r을 지원합니다 (아마도 저에게는 효과가 없었습니다). 크리스마스에 ctrl-o를 구현하는 것이 유용 할 수 있기 때문에 볼 수 있습니다.
dangph

2
아, PSReadLine, 이것은 내 대답처럼 보입니다. 답으로 게시해야합니다. Co는 없지만 Cr이 가장 ​​중요합니다. 또한 보너스로 원하는 탭 완성 조정이 있습니다.
v.oddou

2
PSReadline author here-@ v.oddou-Ctrl + K는 Emacs 모드에서 KillLine에 바인딩되어야합니다. Ctrl + R은 먼저 무언가를 입력하지 않고 작동해야합니다. Ctrl + O를 추가하게되어 기쁩니다 .github에서 문제를 자유롭게 열 수 있습니다.
Jason Shirk

답변:


15

명령의 첫 글자를 입력하고을 누릅니다 F8.

또는 F7첫 글자를 누르고 입력 할 수 있습니다 .

자세한 내용 : http://technet.microsoft.com/en-us/magazine/ff678293.aspx


F7은 아무것도하지 않습니다 ...
Daniel K.

더 자세한 정보를 제공해 주시겠습니까? 다른 사람들에게 유용 할 수 있습니다. 어떤 버전의 Powershell과 어떤 버전의 Windows입니까? 기본 Powershell은 상당히 제한되어 있습니다. 더 나은 UX를 얻기 위해 MobaXterm 또는 ConEmuMaximus 5를 사용하는 것이 좋습니다
georgik

@ CatBoss F7은 cmd에서 작동
phuclv

1
@ LưuVĩnhPhúc 그렇다면 질문은 Powershell에 관한 것이기 때문에 대답이 필요합니다.
Daniel K.

아래 답변을 참조하십시오
-powershell

6

Windows PowerShell 5 가 포함 된 WMF 5.0 RTM 은 이제 bash와 동일한 역방향 명령 검색 기능을 지원합니다 CTRL+R. 나는 이것을 Windows 10 Anniversary Edition에서 사용하고 있으며 내 bash 근육 메모리 는 매우 행복합니다.

지원은 실제로 PowerShell 모듈 PSReadLine 에서 나옵니다 .이 질문에 대한 의견에서 언급했습니다. 좋은 점은 PSReadLine이 이제 기본 WMF 5.0 설치에 포함 된 것으로 보이며 적어도 Windows 10에 있다는 것입니다.

PowerShell 3 이상을 실행중인 경우 PSReadLine설치 하고 기록 검색 기능을 얻을 수 있습니다.

참고 : ISE 에서이 작업을 수행하는 방법을 찾지 못했습니다 CTRL+R(스크립트 창 표시 / 숨기기).


4

히스토리를 조작하려면 히스토리 cmdlet을 사용하여 다음 명령으로 나열하십시오.

Get-Command *-history

당신의 역사를 검색하는 것은 다음과 같이 이루어집니다.

Get-history | Select-String "command"

function f ($Name) { Get-history | Select-String $name }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.