나는 사용해왔다
sudo find / -iname '*foo*' 2>/dev/null | vim
포함된 디렉터리/파일 목록을 가져온 foo
다음 이 목록을 확인하고 편집한 후 vim에 여러 가지 새로운 명령을 작성하세요.
vim에 명령을 작성한 후 작성한 내용을 복사하고 vim을 종료한 다음 새 명령줄에 붙여넣습니다.
Vim은 내 Cx Ce 명령줄 편집기입니다.
:wq
이 vim 세션 내에서 명령줄을 버퍼로 자동으로 채우 도록 할 수 있나요 ?
vim을 시작하는 대신 Cx Ce를 사용할 것이기 때문입니다 vim
.
파이프 입력을 사용하여 Cx Ce vim 세션을 시작하는 방법은 무엇입니까?
답변1
vipe
(from )을 다음과 같이 사용할 수 있습니다 moreutils
.
sudo find / -iname '*foo*' 2>/dev/null | vipe | "$SHELL"
여기서 vipe
파이프된 입력을 편집한 다음 원하는 셸에 제공할 수 있습니다.
또는:
sudo find / -iname '*foo*' 2>/dev/null | vipe | xclip -sel c
편집된 파이프라인을 CLIPBOARD X11 선택 항목에 저장합니다.
vipe
에 저장된 편집기를 실행 $VISUAL
하거나, 설정되지 않은 $EDITOR
경우 $VISUAL
또는 vi
둘 다를 실행합니다.
해당 편집 내용을 쉘 기록에 직접 푸시하려면 zsh
다음을 수행할 수 있습니다.
print -rs -- "$(sudo find / -iname '*foo*' 2>/dev/null | vipe)"
(그리고 키를 사용하여 불러옵니다 Up).
쉘의 편집 버퍼 에 직접 넣으려면 zsh
여전히 .print -rs
print -rz
또는 없는 경우 vipe
:
(){vim $1 && print -rz -- "$(<$1)"} =(sudo find / -iname '*foo*' 2> /dev/null)
예를 들어 다음과 같은 함수를 만들 수 있습니다.
vif sudovif() {
() {
vim $1 &&
print -rz -- "$(<$1)"
} =(${0%vif} find "$@")
}
vif / -iname '*foo*'