복사를 위해 두 번째 매개변수를 채워야 하지만 .bak를 사용하는 zsh 또는 bash의 readline에 핫키를 어떻게 추가합니까?

복사를 위해 두 번째 매개변수를 채워야 하지만 .bak를 사용하는 zsh 또는 bash의 readline에 핫키를 어떻게 추가합니까?

가끔 수행해야 하는 이 작업에 대한 단축키를 설정하고 싶습니다.

%> cp file.txt.1 file.txt.1.bak

파일 이름을 반복했지만 끝에 .bak가 붙었습니다. 직접 입력하고 싶습니다.

%> cp file.txt.1

단축키를 누르고 확장자가 .bak인 파일 이름을 추가합니다. 그러면 두 번째 코드 조각이 첫 번째 코드 조각으로 바뀌게 됩니다.

가능합니까? 그렇다면 두 번째 매개변수를 추가하기 위해 readline을 어떻게 얻을 수 있습니까? (여기서 프로그래밍해야 하는 읽기 라인인 것 같습니다.)

답변1

이 경우 bash 또는 zsh에서 다음 명령을 입력할 수 있습니다.

cp file.txt.1{,.bak}

이것은버팀대 확장.

두 번째 인수에 대해 더 많은 편집을 수행해야 하기 때문에 중괄호 확장이 불편한 경우 zsh에 다음 명령이 있습니다.copy-prev-wordCtrl+ Alt+ 여야 합니다 .상자 밖에. 커서 앞에 단어의 복사본을 삽입합니다. Ctrl++ Alt앞에 공백을 입력하세요 .. 바인딩을 선호할 수도 있습니다.copy-prev-shell-word일반적으로 이것이 더 유용합니다.

bindkey '^[^_' copy-prev-shell-word

Bash 또는 zsh에서 명령줄의 마지막 단어를 줄 끝부터 복사하려면 줄이 공백으로 끝나는지 확인하고 Alt+ B Ctrl+ K Ctrl+ Y Ctrl+ 를 누르세요 Y. 이렇게 하면 마지막 단어와 후행 공백을 두 번 잘라내어 붙여넣습니다. 또는 줄이 공백으로 끝나지 않으면 Alt+ B Left Ctrl+ K Ctrl+ Y Ctrl+ 를 누르세요 Y. 이는 마지막 인수에 공백이 포함되지 않은 경우에만 작동합니다. 공백이 포함된 경우 조금 더 진행해야 합니다. 설정에 적합하다면 Alt+를 + B로 바꿀 수 있습니다.CtrlLeft

관련 정보