마지막 명령을 실행하지 않고 얻을 수있는 트릭을 기억할 수 없습니다.
위쪽 화살표 키를 눌렀을 때! 1255 명령에 액세스하고 명령을 수정할 수 있기를 원합니다. 명령을 호출하는 트릭은 무엇입니까? 명령 행에 표시되지만 실행되지 않고 나중에 화살표 키를 통해 액세스 할 수 있습니까?
나는 에코를 넣어 보았지만 명령 전에 에코가 있는데 올바르게 수행하는 방법을 기억하지 못합니다.
답변
!1255:p
이것을 할 것인가
!
히스토리 리콜
1255
은 행 번호가
:p
인쇄되지만 실행되지는 않습니다.
그런 다음 위쪽 화살표를 사용하여 이전 (실행되지 않은) 명령을 다시 가져 와서 필요에 따라 변경할 수 있습니다.
나는 종종 이것을 hg
가장 좋아하는 별명 인 ( “History Grep”) 와 결합합니다 .
$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'
대소 문자와 상관없이 최근 히스토리 라인에서 텍스트를 검색하며 다음과 같이 사용됩니다.
특정 파일을 편집하기 위해 최근 vi 명령을 검색하려는 경우 그 중 하나를 재사용하여 동일한 파일을 편집하지만 파일 확장자가 다른 파일을 편집하려고합니다.
$ hg variables
6153 vi Variables/user-extensions.js
6176 vi Variables/user-extensions.js
6178 vi Variables/user-extensions.js
6190 vi Variables/user-extensions.js
6230 hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]
또한 hga
전체 히스토리를 검색하도록 ( “History Grep All”)을 정의합니다 .
$ alias hga
alias hga='history | grep -i'
내 역사가 (의도적으로) 매우 커서 출력이 너무 많아 나중에 터미널의 페이지를 통해 스크롤하는 데 영향을 미치기 때문에 많이 사용하지 않습니다.
답변
명중 Ctrl+를 R터미널에서 (@gnp이 코멘트에 손짓으로 바인딩 이맥스 ‘역 증분 검색 키를 어느 것은) 특정 명령에 대한 histrory에서 검색 할 수 있습니다. 명령이 표시되고 실행 전에 편집 할 수 있습니다. 다음과 같은 것을 보게 될 것입니다.
답변
fc
명령은 당신이 원하는 것을
fc -l <number>
해당 번호 주위의 명령 기록을 표시합니다
fc <number>
명령 줄 항목을 열거 vim
나 (또는 기본 편집기가 생각하는대로) 편집 할 수 :wq
있으며 위쪽 화살표로 사용할 수 있습니다.
답변
bash에서 Ctl+alt+e
쉘 확장을 수행 하므로이 !1255
조합 을 입력 한 다음 누르면 현재 행을 히스토리 항목 1255의 내용으로 대체합니다
답변
실행 (-l) 대신 list를 지정하는 동안 fc 명령을 사용하려고합니다.
fc -ln -1