당신이 입력하면
mv a.txt b.txt
그런 다음 실수를 했다는 것을 깨닫고 행을 다시 입력하고 매개변수를 전환하는 대신 다음과 같은 결과가 나타납니다.
mv a.txt b.txt --reverse
답변1
나는 GNU에서 그러한 주장을 알지 못하지만 mv
, bash를 사용한다면,라인 읽기가 도움이 될 수 있습니다:
shell-transpose-words
(M-C-t
)단어 뒤의 점을 이동하면서 점 앞의 단어를 점 뒤의 단어 위로 드래그합니다. 삽입점이 줄 끝에 있는 경우 줄의 마지막 두 단어가 바뀐다. 단어 경계는
shell-forward-word
및 와 동일 합니다shell-backward-word
.
그래서:
$ mv bar/baz\ foo foo\ bar/baz
^ cursor here
Esc그런 다음 CtrlT(또는 )을 누르십시오 AltCtrlT. 결과:
$ mv foo\ bar/baz bar/baz\ foo
^ cursor here
답변2
불행하게도 그렇지 않습니다. 그러나 셸의 텍스트 편집 기능을 사용하여 키 입력을 저장할 수 있습니다. 아래에는 ^
커서 위치가 표시되어 있습니다.
예: 큰 타격
- 시작 상황:
mv a.txt b.txt ^
- Ctrl+를 누르세요w
"마지막 단어"(mv a.txt ^
b.txt
)는 잘라내어 내부 버퍼에 저장됩니다. - 커서가 앞에 올 때까지 Ctrl+를 누릅니다 .Left
a.txt
mv a.txt ^
- Ctrl+를 누르세요y
마지막으로 삭제한 단어를 붙여넣으세요.mv b.txta.txt ^
- 공백을 삽입하다
여전히 번거롭지만 더 빠릅니다.알아채다터미널 에뮬레이터에서 이러한 키 입력 중 하나라도 삼킨다면 불행하게도 운이 없는 것입니다.
답변3
example이라는 스크립트를 만들어 unmv
원하는 위치 $PATH
(예 /usr/local/bin
: )에 배치할 수 있습니다.
#!/bin/sh
mv "$2" "$1"
그런 다음 실수로 을 입력한 후 입력만으로 변경 사항을 되돌릴 mv a.txt b.txt
수 있습니다 .unmv a.txt b.txt