나는 많은 개발자들이 이 명령을 사용하여 vi에 옵션을 설정하는 것을 보았습니다. 아직도 이것의 진짜 목적을 이해하지 못합니까?
bash 명령을 사용할 때 vi로 전환하면 어떻게 도움이 됩니까?
답변1
readline 편집을 emacs(기본값) 또는 vi( )로 설정하면 기본적으로 선택한set -o vi
편집기와 쉘 전체에서 편집 명령이 표준화됩니다1 .
따라서 셸에서 명령을 편집하려면 텍스트 편집기 에서와 동일한 command2를 사용할 수 있습니다 . 즉, 명령 구문 하나만 기억하면(충분하지 않은 경우) 두 환경 모두에서 편집 속도가 빨라지고 오류 발생 가능성이 낮아질 수 있습니다.
셸 기록에서 명령을 추출하고 클릭하여 Escape명령 모드로 들어간 다음 을 클릭하면 v$EDITOR가 열리고 명령이 로드되어 vi 모드에서 이 관계를 더욱 활용할 수 있습니다. 업데이트 복잡한 편집. 명령을 만족스럽게 편집하면 :wq해당 명령이 셸에서 실행됩니다.
1. 물론 이는 Emacs 또는 Vi/m을 편집기로 사용하고 있다고 가정합니다.
2. 또는 더 정확하게는…
답변2
Android용 ConnectBot과 같은 모바일 SSH 클라이언트를 사용하는 경우 Vi 모드는 유용성을 크게 향상시킵니다.
이는 수정자 키에 대한 의존도가 줄어들었기 때문입니다.
Vim은 Android UI에 내장된 기본 편집 방법을 포함하여 가상 키보드를 사용하여 스마트폰이나 태블릿에서 다른 어떤 것보다 사용하기 더 쉽습니다. 아이러니하게도 플랫폼 자체 편집 위젯을 사용하여 인스턴트 메시지를 편집하는 것보다 SSH 세션에서 Vim을 사용하여 C 소스 코드를 편집하는 것이 더 쉽습니다.
Shell vi 모드는 비슷한 이점을 제공합니다.
답변3
vi 모드와 작업을 사용하여 명령줄에서 내용을 편집할 수 있습니다.
예를 들어 설명하면 더 명확해집니다.
당신은 입력cp tmp/some_other_long_directory/file1.xt /tmp2/some_other_xtra_long_dir/
하지만 오류가 발생합니다. file1.txt
not을 입력해야 합니다.file1.xt
아니요이 옵션 설정에서는 위쪽 화살표를 누른 다음 왼쪽 화살표를 누르고 이를 반복합니다... 도달할 때까지 35회 그런 다음 .xt
extra 를 입력합니다 t
. 총 키 입력:37.
그리고이 옵션을 설정하면 (예를 들어) 위쪽 화살표를 한 번 누른 다음 Escape를 눌러 명령 모드로 들어가고, 0을 눌러 줄의 시작 부분으로 이동한 다음 /xt[return]
으로 이동한 다음 삽입 모드를 입력하고 누락된 t를 입력 xt
할 수 있습니다 . i
. 이것은 어떤 면에서는 매우 복잡해 보일 수 있지만 vim 사용자라면 이러한 명령은 이미 매우 잘 알려져 있습니다. 총 키 입력:9
답변4
가장 큰 장점은 명령줄에서 스키마를 편집할 수 있다는 것입니다. Vim에 익숙하고 Vim의 개념이 마음에 든다면 그 이점이 분명할 것입니다. 경험이 있다면 손가락의 근육 기억을 통해 bash 명령을 매우 빠른 속도로 편집할 수 있습니다.
알아채다: 모드 편집이 마음에 들지 않더라도 (기본) emacs 모드를 활용하는 방법을 배워야 합니다.다음은 몇 가지 유용한 키보드 단축키입니다.이는 모든 프로세스에서 작동합니다 readline
.bash