Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

การเข้าถึงเนื้อหาของคลิปบอร์ดในหลายอินสแตนซ์ของ Vim จาก Terminal

เป็นกลุ่ม (Vi ปรับปรุงแล้ว ) เป็นหนึ่งในโปรแกรมแก้ไขข้อความที่ชื่นชอบมากที่สุดในหมู่โปรแกรมเมอร์ มีความพิเศษเฉพาะในการดำเนินการต่างๆ ด้วยคำสั่งสั้นๆ

การเข้าถึงเนื้อหาของคลิปบอร์ดในหลายอินสแตนซ์ของ Vim จาก Terminal การเข้าถึงเนื้อหาของคลิปบอร์ดในหลายอินสแตนซ์ของ Vim จาก Terminal

ตัวอย่างเช่น ในการคัดลอกข้อความที่ไฮไลต์ เราใช้ 'y ' คำสั่งและ 'x 'ที่จะตัดเหมือนกัน แต่โดยค่าเริ่มต้น กลุ่ม (และไม่ใช่ gVim ) ไม่สามารถเข้าถึงเนื้อหาคลิปบอร์ดหลังจากปิดอินสแตนซ์เป็นกลุ่ม

เป็นกลุ่มใช้ '+ ' ลงทะเบียนเพื่ออ้างถึงคลิปบอร์ดของระบบ คุณสามารถเรียกใช้ 'vim –version ' และถ้าคุณไม่เห็นบางอย่างเช่น “+xterm_clipboard ” และแทน “xterm_clipboard “ ดังนั้นเนื้อหาคลิปบอร์ดภายในจะไม่สามารถใช้ได้นอก กลุ่ม .

ติดตั้ง gvim และพัสดุ

ในการเข้าถึงเนื้อหาคลิปบอร์ดของ vim คุณต้องติดตั้ง gvim บรรจุุภัณฑ์. gVim เป็นโหมด GUI สำหรับตัวแก้ไข vim ที่เปิดใช้งานตัวเลือกคลิปบอร์ดโดยค่าเริ่มต้น

# yum install -y gvim

ถัดไป เปิดใช้งานที่เก็บ RPMForge เพื่อติดตั้ง parcellite บรรจุุภัณฑ์. Parcellite เป็นเครื่องมือจัดการคลิปบอร์ดน้ำหนักเบา ขนาดเล็ก และฟรีสำหรับ Linux

# yum install -y parcellite

เมื่อติดตั้งแล้วให้รันคำสั่งต่อไปนี้ โดยที่อาร์กิวเมนต์ '& ’ ใช้เพื่อส่งพัสดุไลต์เพื่อเรียกใช้เป็นกระบวนการพื้นหลัง

# 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 file สร้างไฟล์ดังกล่าวแล้วกลับมาที่นี่

# vim ~/.vimrc

ต่อท้ายบรรทัดต่อไปนี้และบันทึกไฟล์

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

ตอนนี้เปิดไฟล์ใด ๆ ในกลุ่มและเน้นส่วนของข้อความ (โดยใช้คำสั่ง 'v') แล้วกด "+y ลองวางที่ใดก็ได้นอกกลุ่ม (หลังจากปิดหรือไม่มีกลุ่มปิด) และทำเสร็จแล้ว

กำลังสร้างไฟล์ .vimrc

เรียกใช้คำสั่งต่อไปนี้เพื่อสร้าง .vimrc ไฟล์ (ข้ามส่วนนี้ถ้าคุณมีอยู่แล้ว)

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

ใน vim ให้รันสิ่งต่อไปนี้หลังจากกดปุ่ม ESC (ใน vim ทุกคำสั่งจะทำงานหลังจากกดปุ่ม ESC ซึ่งจะทำให้คุณอยู่ในโหมดคำสั่ง)

:r $VIMRUNTIME/vimrc_example.vim 
:w