터미널 자동 완성 기능 개선 (Matlab과 유사)


18

Matlab을 사용한 적이 있다면 해당 프로그램의 명령 창 기능을 발견했을 것입니다. Mac Terminal에서 동일한 기능을 사용할 수 있는지 궁금합니다.

다음과 같이 작동합니다.이 터미널 세션에서 이전에 두 개의 명령을 사용했다고 가정합니다. 먼저 a를 사용한 cd ~다음 a 를 사용 했습니다 ls -la.

Mac을 포함한 모든 * nix 터미널에서를 누르면 Up Arrow먼저 ls -la명령이 표시되고 명령을 두 번 누르면 cd ~명령이 표시됩니다. 대단하다. 그러나 Matlab에서 먼저 문자를 입력 한 c다음을 누르면 문자 Up Arrow가 표시되지 ls않고 대신으로 이동합니다 cd ~. 이렇게하면 큰 명령과 이전에 사용한 명령의 긴 목록이있을 때 많은 시간이 절약됩니다.

가능합니까?

답변:


27

Bash 셸에서 Control+ R를 누르면 기록에서 역 지능형 검색을 수행 할 수 있습니다 . 명령 입력을 시작하면 이전에 입력 한 명령으로 쉘이 자동 완성됩니다.

그런 다음을 눌러 Enter명령을 다시 실행하거나 화살표 왼쪽 또는 오른쪽 키를 사용하여 명령을 편집하거나 Control+ R를 계속 눌러 다른 가능한 완료를 순환 할 수 있습니다.

역 지능형 검색


9

이것을 ~ / .inputrc로 저장하십시오 :

# make the up and down arrows cycle through commands that match the start of a line
"\e[A": history-search-backward
"\e[B": history-search-forward

옵션은 \e\e[Aand control-p \C-p입니다. control-v를 눌러 다른 키 조합의 이스케이프 시퀀스를 볼 수 있습니다.


1
아직없는 사용자의 경우 ~/.inputrc하나만 만드십시오.
Sibbs Gambling

수락 된 답변이어야합니다
ripper234

1
"\ e [A": 명령을 찾을 수 없음
Louis

2

당신이 할 수있는 또 다른 일은 타이핑 !한 다음 첫 글자이며 가장 최근의 것을 찾을 것입니다. IE : cd ~로 액세스 가능!c


1

이것은 쉘의 기능입니다. Control-R은 당신이 묘사하는 것을 할 것이지만, 더 현대적인 쉘로 바꾸면 훨씬 더 많은 것을 얻을 수 있습니다. Z-shell (zsh)을 살펴보면 약간의 학습 곡선이 있지만 매우 강력합니다.


Control-R을 의미한다고 생각합니다.
jmk

1

zsh는 예제와 정확히 같은 명령을 완료합니다. 쉘에 사용하는 것 외에는 아무것도 할 필요가 없습니다.


0

이것을 .cshrc에 추가하십시오 (tcsh를 사용하는 경우)-

  bindkey -k up history-search-backward
  bindkey -k down history-search-forward

그런 다음 source ~ / .cshrc를 수행하여 설명하는 기능을 정확하게 얻으십시오.

.profile에 해당하는 것이 있는지 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.