vi에서 전체 파일을 선택하여 gedit에 붙여넣는 방법은 무엇입니까?

vi에서 전체 파일을 선택하여 gedit에 붙여넣는 방법은 무엇입니까?

%y a이렇게 하면 전체 파일이 레지스터에 저장된다는 것을 알고 있습니다 a. 그러나 파일 내용을 다른 텍스트 편집기(예: gedit)에 붙여넣는 데는 도움이 되지 않습니다. 이 작업을 수행하는 것 외에 다른 대안이 있나요?

답변1

파일 내용을 a레지스터 로 가져오는 *대신 +다음 방법 중 하나를 사용하여 파일 내용을 X 클립보드로 가져옵니다.

:%y*
:%y+

이를 위해서는 X 지원으로 컴파일되었으며 X 서버에 연결할 수 있는 vim 복사본을 사용해야 합니다. 어떤 방법이 더 나은지는 대상 편집기가 사용하는 클립보드 유형에 따라 다릅니다.

파일에 다음 중 하나를 포함하면 이러한 레지스터 중 하나를 복사 및 붙여넣기 작업의 기본값으로 사용할 수도 있습니다 .vimrc.

set clipboard+=unnamed
set clipboard+=unnamedplus

답변2

vi이것이 필요한지 확실하지 않습니다 .

xclip콘솔 출력의 모든 내용을 x 서버 클립보드로 복사할 수 있는 유틸리티가 있습니다 .

DISPLAY=:0.0환경을 지정하고 다음과 같이 실행해야 합니다 .

cat file | xclip

또는 원격 파일의 경우

ssh remote "cat file" | xclip

또는 vi(참고: 이 방법은 vi 버퍼 내용을 일시적으로 지웁니다. 실행 취소하려면 Esc+ 를 누르십시오 u. 데이터는 X cilpboard에 남아 있습니다):

:%!xclip

이제 마우스 가운데 버튼을 사용하여 아무 곳에나 붙여넣을 수 있습니다(참고: 작동하지 않을 CTRL+V수 있음 shift+ins).

답변3

Vim과 gedit를 함께 사용하는 경우가 많다면 Vim의 GUI 버전인 gVim으로 전환해야 할 것입니다.

Ubuntu를 사용하고 있고 gVim이 기본적으로 설치되지 않은 것 같습니다. 이를 얻으려면 다음 명령을 사용하십시오.

 $ sudo apt-get install vim-gnome

Gnome에 의존하지 않는 것도 있지만 vim-gtkgedit를 사용하고 있으므로 Gnome 기반 버전의 Ubuntu 중 하나를 사용해야 합니다.

답변4

나는 다음 별칭을 내 항목에 추가하여 이 작업을 수행했습니다..bashrc

alias vim='gvim -v'

그리고 .vimrc클립보드를 다음으로 설정하세요.unnamedplus

set clipboard=unnamedplus

그런 다음 yank:ed 텍스트가 전역 버퍼에 복사되고 ctrl+v를 사용하여 gedit에 붙여넣을 수 있습니다. 전역적으로 복사된 텍스트는 pvim 명령을 사용하여 붙여넣을 수도 있습니다.

관련 정보