bash 기록 완료를 변경하여 이미 연결된 작업을 완료하려면 어떻게 해야 합니까?
몇 달 전에 위쪽 화살표를 누를 때 이미 줄에 표시된 내용에 대한 내 bash 기록을 자동으로 완료하는 명령을 발견했습니다.
$ vim fi
프레스
$ vim file.py
새 컴퓨터에 이것을 설치하고 싶습니다. 큰 기록을 보관할 때 시간이 많이 절약되기 때문입니다.문제는 그것이 어디서 언급되었는지 아무리 생각해도 기억할 수 없다는 것이고 불행히도 끝없는 bash 참조와 튜토리얼을 읽는 것도 도움이 되지 않았습니다.
명령을 아는 사람이 있습니까?
아마 그런 것 같습니다.
~/.inputrc"\e[A]: 이력-검색-뒤로"\e[B": history-search-forward
또는 그와 동등하게,
~/.svrc$- == *i* ]인 경우그리고나서바인딩 '\e[A]: history-search-backward'바인딩 '\e[B]: history-search-forward'fi
(if 문은 대화형 모드를 확인합니다.)
일반적으로 위쪽 및 아래쪽은 읽기 라인 기능에 바인딩됩니다.previous-history그리고.next-history각각 다음과 같다.저는 정상적인 Up/Down 작동을 대체하는 대신 PgUp/PgDn을 이러한 기능에 바인딩하는 것을 선호합니다.
~/.inputrc"\e[5~: history-search-discovery"\e[6~: history-search-forward
수정한 후~/.inputrc셸을 다시 시작하거나 +,XR +를 사용하여 다시 읽으라고 말합니다.~/.inputrc.
참고로, 관련 문서를 찾고 있는 경우:
Bash는 셸 프롬프트 및 기록에 GNU Readline 라이브러리를 사용합니다.
다음을 사용하여 .inputrc를 업데이트합니다.
"\C-[OA": history-search-backward
"\C-[[A": history-search-backward
"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
한다면set enable-keypad on당신 안에 있습니다.~/.inputrc일부(무제한 단순 터미널) 사용자가 그러하듯이 화살표 키는 키패드 모드에 있습니다.Ubuntu는 이 유용한 기능과 함께 제공됩니다./usr/share/doc/bash/inputrc.arrows:
# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD" backward-char
"\C-[OC" forward-char
"\C-[OA" previous-history
"\C-[OB" next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D" backward-char
"\C-[[C" forward-char
"\C-[[A" previous-history
"\C-[[B" next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD" backward-char
"\C-M-OC" forward-char
"\C-M-OA" previous-history
"\C-M-OB" next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D" backward-char
"\C-M-[C" forward-char
"\C-M-[A" previous-history
"\C-M-[B" next-history
그래서 당신이 모든 것을 필요로 할지는 모르겠지만, 당신의 몸에 있는 것이 해롭지 않을 수도 있습니다.~/.inputrc:
# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char
# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char
이는 또한 동일한 주제에 관한 것입니다.커서 키가 작동하지 않고 이 xterm: 특수 키도 작동하지 않습니다.
ohmyzsh와 함께 .zshrc에서 사용합니다.
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
다시 로드하려면,source ~/.zshrc또는 터미널을 다시 시작합니다.
출처: https://superuser.com/a/418299/71680
bash 완료를 사용하도록 설정해야 할 수 있습니다.
확인.
/etc/profile/etc/bash.bashrc~/.bashrc
위의 파일 중 원본 파일이 있는지 확인합니다./etc/bash_completion.예.
/etc/submit_construction
한다면/etc/bash___completion위의 파일 중 하나에 추가해야 하는 파일이 원본이 아닙니다.
시스템의 모든 bash 사용자가 bash 완료되도록 하려면 소스/etc/bash_completion/etc/bash.bashrc.
bash source 만약당바완원면한다을성소스쉬신만,▁source스▁if./etc/bash_completion의 신의에서.~/.bashrc.
언급URL : https://stackoverflow.com/questions/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line
'programing' 카테고리의 다른 글
| 스도 없이 npm 던지기 오류를 해결하는 방법 (0) | 2023.05.17 |
|---|---|
| 약속을 관찰 가능으로 변환 (0) | 2023.05.17 |
| 엔터프라이즈 앱 배포가 iOS 7.1에서 작동하지 않음 (0) | 2023.05.17 |
| Linkq를 사용하여 목록에서 일치하는 모든 값의 인덱스 가져오기 (0) | 2023.05.17 |
| CSS에서 img 태그의 src 속성에 해당하는 것을 설정할 수 있습니까? (0) | 2023.05.17 |