zsh 명령 줄 편집기 : 명령을 입력 할 때 이전 줄로 돌아갑니다.

4ae1e1

내가 역사에서 이전 줄에 대해 말하는 것이 아닙니다. 현재 여러 줄 명령에서 이전 줄에 대해 이야기하고 있습니다.

예를 들어 zsh에 여러 줄 명령을 입력하면 ( _커서를 나타냄) :

$ for i in {1..5}; do
for> echo i_

이 시점에서 마음이 바뀌고 대신 i루프를 통과 시키고 싶기 {1..10}때문에 이전 줄로 돌아 가야합니다. 그러나 ⌫, ← 또는 C-b, 또는 두 번째 줄의 시작 부분에서 모든 중지를 생각할 수있는 모든 방법으로이를 수행하는 방법을 알 수 없습니다 . 그래서, 다시 돌아갈 수 있습니까? 미리 감사드립니다.

실제로 이것은 zsh에 국한되지 않습니다. 예를 들어, 나는 bash에서도 이것을 알아 낸 적이 없습니다.

나는 이미 상당한 시간을 검색 결과없이 인터넷 검색에 보냈으므로 실례하고 이것이 분명하다면 내 Google-fu를 비난하십시오.


참고로 Emacs 키 바인딩을 사용하고 있습니다.

$ bindkey | grep delete
"^D" delete-char-or-list
"^H" backward-delete-char
"^[[3~" delete-char
"^?" backward-delete-char

이것이 도움이 될지 확실하지 않습니다.

ZyX

이것이 가능하다고 생각하지 않지만 다음과 같은 다른 해결 방법이 있습니다.

  1. 모든 것을 한 줄에 쓸 수 있습니다. 편집하기는 쉽지 않지만 여러 줄 문자열도 쉽게 편집 할 수 없습니다.
  2. 일부 키를 바인딩 할 수 있습니다 (예 : 이 경우 <C-Enter>출력하지 않도록 터미널에 지시 할 수 <C-m>있는 경우).

    function _-add-newline()
    {
        LBUFFER="$LBUFFER"$'\n'
    }
    zle -N add-newline _-add-newline
    bindkey "\Ca" add-newline
    

    . 이렇게하면 <C-a>새 줄 을 누르면 버퍼에 나타나지만 수락 줄 위젯을 트리거하지 않고 이전 줄을 계속 편집 할 수 있습니다. 예를 들어 왼쪽 / 오른쪽 화살표를 사용하여 이동할 수 있습니다.

  3. 입력 for x in y ; do<CR>echo foo<CR><C-c><Up>하면 for x in y ; do\necho foo버퍼에 표시되고 모든 텍스트를 편집 할 수 있습니다. 참고 : <CR>마지막 줄을 유지하고 (에 의해 중단 된 줄 <C-c>은 저장되지 않음) <C-c>입력을 중단해야합니다. 이 변형은 이미 입력 한 경우 작동하지 않습니다 done(먼저 <CR>주기가 실행 됨). 마지막으로 마지막 줄을 버리고 <C-c>다시 입력 할 수 있습니다.
  4. 이론적으로 accept-line는 입력을 구문 분석하고 명령을 완전히 작성했는지 여부를 결정하는 코드로 위젯을 재정의 할 수 있으며 그렇지 않은 경우 \n버퍼에 추가 하고 (위 함수처럼) original을 실행하지 않고 accept-line그렇지 않으면 original accept-line이 실행됩니다. 이 변형은 구현하기가 훨씬 더 어렵 기 때문에 "이론적으로"말하고 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ZSH의 전체 화면 편집기에서 명령 줄을 편집하는 방법은 무엇입니까?

분류에서Dev

vi를 통해 편집기에서 명령 줄을 편집 할 때 bash의 버그입니까, 아니면 예상되는 동작입니까?

분류에서Dev

zsh에서 편집 명령 줄에 * only *를 사용하도록 편집기 명령을 설정하는 방법은 무엇입니까?

분류에서Dev

zsh 명령 줄에서 vi 명령 모드로 편안하게 전환하는 방법은 무엇입니까?

분류에서Dev

사용자가 명시 적으로 종료 할 때까지 파이썬에서 반복되는 명령 줄 입력을받을 수 있습니까?

분류에서Dev

GitAhead에서 명령 줄 git 명령을 입력 할 수 있습니까?

분류에서Dev

명령 줄이나 텍스트 편집기에서 Atom 설정을 어떻게 변경할 수 있습니까?

분류에서Dev

한 명령의 출력을 명령 줄 인수로 다른 명령 줄 인수로 전달하는 방법은 무엇입니까?

분류에서Dev

명령 줄 또는 gnuplot 명령을 사용할 때 gnuplot에서 동일한 글꼴이 아님

분류에서Dev

Clojure 명령 줄 : 닫는 괄호를 입력 할 때마다 커서가 이동합니다.

분류에서Dev

명령 줄을 통해 Vimperator / Firefox에 명령을 전달할 수 있습니까?

분류에서Dev

명령 줄에서 MySQL 명령을 실행할 때 MySQL에서 파일로 로그 가져 오기

분류에서Dev

명령 줄을 통해 실행할 때 기본 클래스를 찾거나로드 할 수 없습니다.

분류에서Dev

파일을 만들거나 편집 할 때 폴더를 모니터링하고 명령 줄 작업을 트리거하는 방법은 무엇입니까?

분류에서Dev

Python의 인수로 명령 줄에 파일 이름을 입력합니다.

분류에서Dev

명령을 파이프 할 때 "slabtop -o"가 처음 23 줄만 반환하는 이유는 무엇입니까?

분류에서Dev

빌드 전 명령 줄을 입력 한 후 솔루션을 다시 빌드 할 수 없습니다.

분류에서Dev

명령 줄에서 "시간"을 사용할 때 "시스템 시간"이란 무엇입니까?

분류에서Dev

명명 된 파이프 입력 명령 줄이 호출 될 때 중단되는 이유는 무엇입니까?

분류에서Dev

SDL로 C ++ 프로그램을 실행할 때 명령 줄 가져 오기

분류에서Dev

명령을 입력 할 때 봇이 명령 출력을 스팸하는 이유는 무엇입니까?

분류에서Dev

외부 소스의 입력 인수로 명령 줄을 생성 할 때 스크립트 삽입 방지

분류에서Dev

일괄 적으로 다음 명령에 사용할 이전 출력 편집

분류에서Dev

특정 명령에 대한 명령 줄 기록을 탭할 수 있습니까?

분류에서Dev

Bash : 한 줄씩 파일 읽기, 줄 분할, 명령 줄 인수로 전달

분류에서Dev

Zsh에서 명령을 편집 할 수 없습니다.

분류에서Dev

명령 줄로 Office 추가 기능을 빌드 할 때 오류 발생

분류에서Dev

자바 (안 명령 줄)을 시작할 때 JMeter를위한 기본 로그 위치를 오버라이드 (override)

분류에서Dev

명령 줄을 통해 값을 전달할 수 없습니다.

Related 관련 기사

  1. 1

    ZSH의 전체 화면 편집기에서 명령 줄을 편집하는 방법은 무엇입니까?

  2. 2

    vi를 통해 편집기에서 명령 줄을 편집 할 때 bash의 버그입니까, 아니면 예상되는 동작입니까?

  3. 3

    zsh에서 편집 명령 줄에 * only *를 사용하도록 편집기 명령을 설정하는 방법은 무엇입니까?

  4. 4

    zsh 명령 줄에서 vi 명령 모드로 편안하게 전환하는 방법은 무엇입니까?

  5. 5

    사용자가 명시 적으로 종료 할 때까지 파이썬에서 반복되는 명령 줄 입력을받을 수 있습니까?

  6. 6

    GitAhead에서 명령 줄 git 명령을 입력 할 수 있습니까?

  7. 7

    명령 줄이나 텍스트 편집기에서 Atom 설정을 어떻게 변경할 수 있습니까?

  8. 8

    한 명령의 출력을 명령 줄 인수로 다른 명령 줄 인수로 전달하는 방법은 무엇입니까?

  9. 9

    명령 줄 또는 gnuplot 명령을 사용할 때 gnuplot에서 동일한 글꼴이 아님

  10. 10

    Clojure 명령 줄 : 닫는 괄호를 입력 할 때마다 커서가 이동합니다.

  11. 11

    명령 줄을 통해 Vimperator / Firefox에 명령을 전달할 수 있습니까?

  12. 12

    명령 줄에서 MySQL 명령을 실행할 때 MySQL에서 파일로 로그 가져 오기

  13. 13

    명령 줄을 통해 실행할 때 기본 클래스를 찾거나로드 할 수 없습니다.

  14. 14

    파일을 만들거나 편집 할 때 폴더를 모니터링하고 명령 줄 작업을 트리거하는 방법은 무엇입니까?

  15. 15

    Python의 인수로 명령 줄에 파일 이름을 입력합니다.

  16. 16

    명령을 파이프 할 때 "slabtop -o"가 처음 23 줄만 반환하는 이유는 무엇입니까?

  17. 17

    빌드 전 명령 줄을 입력 한 후 솔루션을 다시 빌드 할 수 없습니다.

  18. 18

    명령 줄에서 "시간"을 사용할 때 "시스템 시간"이란 무엇입니까?

  19. 19

    명명 된 파이프 입력 명령 줄이 호출 될 때 중단되는 이유는 무엇입니까?

  20. 20

    SDL로 C ++ 프로그램을 실행할 때 명령 줄 가져 오기

  21. 21

    명령을 입력 할 때 봇이 명령 출력을 스팸하는 이유는 무엇입니까?

  22. 22

    외부 소스의 입력 인수로 명령 줄을 생성 할 때 스크립트 삽입 방지

  23. 23

    일괄 적으로 다음 명령에 사용할 이전 출력 편집

  24. 24

    특정 명령에 대한 명령 줄 기록을 탭할 수 있습니까?

  25. 25

    Bash : 한 줄씩 파일 읽기, 줄 분할, 명령 줄 인수로 전달

  26. 26

    Zsh에서 명령을 편집 할 수 없습니다.

  27. 27

    명령 줄로 Office 추가 기능을 빌드 할 때 오류 발생

  28. 28

    자바 (안 명령 줄)을 시작할 때 JMeter를위한 기본 로그 위치를 오버라이드 (override)

  29. 29

    명령 줄을 통해 값을 전달할 수 없습니다.

뜨겁다태그

보관