Screen의 명령 모드에서 Screen의 클립 보드로 실행하려면

StackOverflow https://stackoverflow.com/questions/1148891

  •  18-09-2019
  •  | 
  •  

문제

화면의 클립 보드에 단어가 포함 된 사본이 있습니다. Masi Aften. 화면의 명령 모드에서 클립 보드를 직접 편집 할 수 있도록 효과적으로 본드로 교체하고 싶습니다. 클립 보드를 /TMP에 저장하고 VIM에서 교체품을 실행할 수 있지만 화면을 배우고 싶습니다.

화면 클립 보드에 내 데이터가있을 때 실행됩니다.

Ctrl-A : sed s/Masi/Bond/ | [Screen's clipboard]       /// I do not know how to refer to Screen's clipboard by a command other that C-A ]

나는 얻다

unknown command sed

화면의 명령 모드에서 Screen의 클립 보드에 명령을 어떻게 실행할 수 있습니까?

도움이 되었습니까?

해결책

화면이 페이스트 버퍼에서 명령을 실행하는 방법이 없다고 생각합니다.

이를 수행하는 한 가지 방법은 페이스트 버퍼를 저장하고 버퍼를 수정하기 위해 스크립트를 실행하는 화면에서 새 창을 열도록 결합하는 것입니다. 그런 다음 다른 바인드를 디스크에서 수정 된 버퍼를 다시로드하고 붙여 넣습니다 (이것은 정상 페이스트 바인드 위에 결합 될 수 있음).

이것을 screenrc (경로 변경)에 추가하십시오.

bind -c screensed s eval "writebuf /pathtoscript/screensed.clipboard" "screen sh /pathtoscript/screensed.sh"
bind -c screensed p eval "readbuf /pathtoscript/screensed.clipboard" "paste ."
bind , command -c screensed

어딘가에 쉘 스크립트를 만드십시오.

#!/usr/bin/env sh
echo "Enter sed script: "
read sedcommand
sed -i ${sedcommand} /pathtoscript/screensed.clipboard
echo "(Enter to return)"
read something

화면의 "Ctrl-A, S"는 클립 보드를 버리고 SED 명령을 입력 할 새 창을 만듭니다. "Ctrl-A, P"는 클립 보드 및 붙여 넣기를 읽습니다. 스크립트 끝의 일시 중지는 SED가 줄 수있는 오류를 보여주는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top