Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

터미널에서 Vim의 여러 인스턴스에서 클립보드 콘텐츠 액세스

(Vi 개선됨 )는 프로그래머들 사이에서 가장 좋아하는 텍스트 편집기 중 하나입니다. 짧은 손 명령으로 다양한 작업을 수행하는 고유한 특성이 있습니다.

터미널에서 Vim의 여러 인스턴스에서 클립보드 콘텐츠 액세스 터미널에서 Vim의 여러 인스턴스에서 클립보드 콘텐츠 액세스

예를 들어 강조 표시된 텍스트를 복사하려면 'y ' 명령 및 'x ' 같은 것을 잘라냅니다. 그러나 기본적으로 vim ( gVim 아님) ) vim 인스턴스를 닫은 후에는 클립보드 내용에 액세스할 수 없습니다.

Vim은 '+ ' 시스템 클립보드를 참조하도록 등록합니다. 'vim –version을 실행할 수 있습니다. ' 및 "+xterm_clipboard와 같은 항목이 표시되지 않는 경우 " 대신 "xterm_clipboard ", 내부 클립보드 내용은 vim 외부에서 사용할 수 없습니다. .

gvim 및 parcellite 설치

vim 클립보드 콘텐츠에 액세스하려면 gvim을 설치해야 합니다. 패키지. gVim 클립보드 옵션이 기본적으로 활성화되어 있는 vim 편집기용 GUI 모드입니다.

# yum install -y gvim

다음으로 RPMForge Repository를 활성화하여 parcellite를 설치합니다. 패키지. Parcellite는 가볍고 작은 Linux용 무료 클립보드 관리자입니다.

# yum install -y parcellite

설치가 완료되면 다음 명령을 실행합니다. Where 인수 '& '는 백그라운드 프로세스로 실행하기 위해 소포를 보내는 데 사용됩니다.

# parcellite &

gvim에서 옵션이 활성화되어 있는지 확인하십시오.

# gvim --version

"+xterm_clipboard ” 옵션이 아래와 같이 출력에 표시됩니다.

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr  5 2012 10:12:08)
Included patches: 1-411
Modified by <[email protected]>
Compiled by <[email protected]>
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

사용자의 .bashrc 파일을 엽니다.

# vim ~/.bashrc

별칭을 추가하고 파일을 저장합니다('i ' 줄을 삽입하고 ESC 키를 누릅니다. , 다음 실행 :wq 저장하고 종료).

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vim='gvim -v'
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

이 별칭은 일부 명령을 다른 명령으로 우회하는 데 사용되는 기본 제공입니다. 따라서 vim 명령이 실행될 때마다 해당 별칭은 기본적으로 활성화된 클립보드와 함께 gvim으로 이동합니다.

이제 '.vimrc를 수정하세요. ' 파일도 비슷한 방식으로(.vimrc가 없는 경우) 파일을 생성하고 여기로 돌아오십시오.

# vim ~/.vimrc

다음 줄을 추가하고 파일을 저장합니다.

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

이제 vim에서 파일을 열고 텍스트 부분을 강조 표시하고('v' 명령 사용) "+y. vim 외부의 아무 곳에나 붙여넣으면(vim을 닫은 후 또는 닫지 않고) 완료됩니다.

.vimrc 파일 생성

다음 명령을 실행하여 .vimrc를 생성합니다. 파일(이미 있는 경우 이 부분 건너뛰기).

# cd   [This will put you in home directory]       
# vim .vimrc

vim에서 ESC 키를 누른 후 다음을 실행합니다(vim에서 모든 명령은 명령 모드로 전환되는 ESC 키를 누른 후에 실행됩니다).

:r $VIMRUNTIME/vimrc_example.vim 
:w