Left-ArrowRight-Arrow저는 매우 긴 명령줄에 있는 경우가 많으며 , , Alt+ B, Alt+ 등을 통해 중간의 특정 위치로 이동하는 것이 F어려울 수 있습니다.
를 사용하는 것으로 알고 있으며, tmux
검색을 통해 특정 위치로 이동할 수 있습니다. <keyword>
이는 매우 일반적인 작업이므로 최신 터미널에서도 유사한 작업이 구현됩니까 gnome-terminal
?
보너스: macOS iTerm에 대한 답변이 있으면 좋을 것 같습니다.
답변1
Bash(그리고 readline 라이브러리를 사용하는 다른 터미널 애플리케이션)에는 검색 기능이 있습니다. 명령줄 편집은 터미널이 아닌 셸에서 수행됩니다. (바라보다"터미널", "쉘", "tty" 및 "콘솔"의 정확한 차이점은 무엇입니까?).
주요 검색 명령어는Ctrl+ S및 Ctrl+R, 각각 앞으로 및 뒤로 검색합니다. 이는 증분 검색입니다. Ctrl+ S또는 Ctrl+를 누른 후 R검색하려는 텍스트를 입력하면 지금까지 입력한 다음/이전 일치 항목으로 이동합니다.
문자를 삽입하지 않고 검색 모드를 종료하지 않는 키를 누르십시오 Backspace. 이 키는 일반적인 효과를 가지며 특히 Enter명령을 즉시 실행합니다. Left/가 Right일반적으로 가장 편리한 방법입니다.
검색을 취소하려면 Ctrl+를 누르면 G편집 중이던 명령으로 돌아갑니다. 이 명령은 현재 명령줄뿐만 아니라 셸 명령 기록도 검색합니다. 실수로 이전 명령줄로 이동한 경우 Ctrl+를 누르면 G원래 입력한 내용으로 돌아갑니다.
배쉬에도 있어요단일 문자를 검색하는 명령검색 모드에 들어가지 않음: Ctrl+ ]앞으로 , Ctrl++ 또는 ++ 뒤로 .Alt]Alt- Ctrl]
Zsh는유사한 명령(더 많은 것이 있습니다). 그것은단일 문자를 빠르게 검색하는 명령vi 모드가 아닌 이상 편의 키( 앞으로, 뒤로가 아닌 Ctrl++ ) 는 기본적으로 바인딩되지 않지만 .X CtrlFbindkey
답변2
edit-and-execute-command
Bash를 사용하면 ( Ctrl+ x, Ctrl+ e)를 사용하여 즐겨 사용하는 편집기에서 명령을 편집 할 수 있습니다 .
edit-and-execute-command (C-x C-e)
Invoke an editor on the current command line, and execute the result as shell commands.
Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.
특정 위치로 이동하는 방법은 편집기에 따라 다릅니다. vim을 사용하는 경우 다음 명령을 사용하여 커서를 정확한 단어에 위치시킬 수 있습니다.vim-easymotion끼워 넣다.