return명령을 실행하고 명령줄을 지웁니다. 클리어 부분은 건너뛸 수 있나요? 따라서 명령이 실행되지만 명령줄과 커서 위치는 계속해서 편집할 수 있도록 보존됩니다.
또 다른 방법은 기록에서 명령을 호출하는 것이지만 더 많은 키 입력이 필요하고 커서 위치를 잃습니다.
답변1
내장된 것을 사용할 수 있습니다.bind
현재 라인 버퍼를 가져오고 주어진 단축키에서 이를 평가합니다 ctrl + j
. 예를 들어 다음과 같습니다.
bind -x '"\C-j": eval "$READLINE_LINE"'
피상적인 테스트일 뿐이므로 위험 부담은 본인이 감수하고 사용하세요. ;)
라인 읽기 기능operate-and-get-next
원하는 것에 가깝지만 정확하지는 않습니다.
답변2
글쎄, 당신이 Bash를 사용한다고 가정하면 나는 그러한 명령줄 기능을 모릅니다. 그러나 반면에 명령줄을 스크립트로 래핑하고 첫 번째 셸을 사용하여 스크립트를 실행하는 동안 편집기와 함께 두 번째 셸을 유지하여 스크립트를 편집할 수 있습니다. 이렇게 하면 디버깅을 위해 커서를 놓지 않고 명령을 조작할 수 없습니다.
tmux 또는 screen을 사용하여 현재 셸을 둘로 분할할 수도 있습니다. 한 부분은 편집기를 실행하고 다른 부분은 편집기를 실행하며 모두 동일한 창에 있습니다.
답변3
이 기능은 기본적으로 ESC-a( ⌥-a) 키 바인딩을 통해 Zsh에서 사용할 수 있습니다. accept-and-hold
명령 참조