ການເຂົ້າເຖິງເນື້ອໃນຂອງ clipboard ທົ່ວຫລາຍໆເຫດການຂອງ Vim ຈາກສະຖານີ


Vim (Vi IMproved) ແມ່ນ ໜຶ່ງ ໃນບັນນາທິການຕົວ ໜັງ ສືທີ່ມັກທີ່ສຸດໃນບັນດານັກຂຽນໂປແກຼມ. ມັນມີຄວາມຊ່ຽວຊານຂອງຕົນເອງໃນການປະຕິບັດງານທີ່ແຕກຕ່າງກັນດ້ວຍ ຄຳ ສັ່ງດ້ວຍມືສັ້ນ.

ຍົກຕົວຢ່າງ, ເພື່ອຄັດລອກຂໍ້ຄວາມທີ່ເນັ້ນໃຫ້ພວກເຮົາໃຊ້ ຄຳ ສັ່ງ 'y' ແລະ 'x' ເພື່ອຕັດຄືກັນ. ແຕ່, ໂດຍຄ່າເລີ່ມຕົ້ນເພາະ (ແລະບໍ່ແມ່ນ gVim) ເນື້ອໃນຂອງ clipboard ບໍ່ສາມາດເຂົ້າເຖິງໄດ້ຫຼັງຈາກປິດເຫດການ.

Vim ໃຊ້ການລົງທະບຽນ '+' ເພື່ອອ້າງອີງໃສ່ກະດານຂ່າວຂອງລະບົບ. ທ່ານສາມາດ ດຳ ເນີນການ 'ຍ້ອນວ່າ' ແລະຖ້າທ່ານບໍ່ສາມາດເຫັນບາງສິ່ງບາງຢ່າງເຊັ່ນ "+ xterm_clipboard" ແລະແທນທີ່ "xterm_clipboard", ຫຼັງຈາກນັ້ນເນື້ອຫາ clipboard ພາຍໃນຈະບໍ່ມີຢູ່ນອກ vim.

ເພື່ອເຂົ້າເຖິງເນື້ອໃນຂອງ clipboard, ທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງຊຸດ gvim. gVim ແມ່ນໂຫມດ GUI ສຳ ລັບບັນນາທິການ vim ບ່ອນທີ່ຕົວເລືອກ clipboard ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

# yum install -y gvim

ຕໍ່ໄປ, ໃຫ້ RPMForge Repository ຕິດຕັ້ງຊຸດດາວທຽມ. The Parcellite ແມ່ນຜູ້ຈັດການ clipboard ທີ່ມີນ້ ຳ ໜັກ ເບົາ, ນ້ອຍແລະບໍ່ເສຍຄ່າ ສຳ ລັບ Linux.

# yum install -y parcellite

ເມື່ອຕິດຕັ້ງແລ້ວ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ບ່ອນທີ່ມີການໂຕ້ຖຽງ '&' ໃຊ້ເພື່ອສົ່ງ 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 >
Compiled by <[email >
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 ດ້ວຍ clipboard ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

ດຽວນີ້ແກ້ໄຂເອກະສານ '.vimrc' ຂອງທ່ານໃນແບບທີ່ຄ້າຍຄືກັນ (ໃນກໍລະນີທີ່ທ່ານບໍ່ມີເອກະສານ .vimrc, ສ້າງເອກະສານດັ່ງກ່າວຜ່ານແລະຫຼັງຈາກນັ້ນກັບມາທີ່ນີ້.

# vim ~/.vimrc

ຕິດຄັດສາຍຕໍ່ໄປນີ້ແລະບັນທຶກເອກະສານ.

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

ຕອນນີ້ເປີດເອກະສານໃດໆໃນ Vim ແລະເນັ້ນໃສ່ສ່ວນຂອງຂໍ້ຄວາມ (ໂດຍໃຊ້ 'ຄຳ ສັ່ງ') ແລະກົດ“ + y. ພະຍາຍາມເອົາທຸກບ່ອນທີ່ຢູ່ນອກ vim (ຫຼັງຈາກປິດຫລືບໍ່ປິດ vim) ແລະທ່ານກໍ່ເຮັດແລ້ວ.

ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອສ້າງໄຟລ໌ .vimrc (ຂ້າມສ່ວນນີ້ຖ້າທ່ານມີຢູ່ແລ້ວ).

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

ໃນ vim ເຮັດວຽກດັ່ງຕໍ່ໄປນີ້ຫລັງຈາກກົດປຸ່ມ ESC (ໃນຍ້ອນວ່າທຸກໆ ຄຳ ສັ່ງຈະຖືກ ດຳ ເນີນການຫຼັງຈາກກົດປຸ່ມ ESC ທີ່ເຮັດໃຫ້ທ່ານຢູ່ໃນ ໂໝດ ຄຳ ສັ່ງ).

:r $VIMRUNTIME/vimrc_example.vim 
:w