#TIL #bash 커맨드 라인에 입력할 긴 명령어를 에디터로 편집하기
$ docker run \
--name gerrit-mysql \
--volumes-from=gerrit-data \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=reviewdb \
-e MYSQL_USER=gerrit2 \
-e MYSQL_PASSWORD=gerrit \
-d \
mysql:5.6.30
이렇게 긴 명령어를 바로 처넣는다. “거, 실수하기 딱 좋을 위치네”
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.
이럴 때, C-x C-e
키를 누르면 된다. 임시파일을 에디터로 연다. 에디터로 편집하고 저장한 내용을 커맨드 라인에 입력한다. 아무것도 설정 안 하면 emacs로 연다. 선인들의 지혜에 감탄을 안 할 수가 없다.
$ export VISUAL=ec-wait
$ export EDITOR=ec-wait
$ cat ec-wait
#!/bin/sh
if [ "OS" = "Windows_NT" ]
then
emacsclientw --alternate-editor=runemacs "$@"
else
emacsclient --alternate-editor=/Applications/Emacs.app/Contents/MacOS/Emacs "$@"
fi
실행 중인 emacs에서 열려고 VISUAL
, EDITOR
환경 변수를 설정했다.