Mengakses Konten Clipboard di Beberapa Instance Vim dari Terminal


Vim (Vi IMproved) adalah salah satu editor teks paling favorit di kalangan pemrogram. Ia memiliki spesialisasi tersendiri dalam melakukan berbagai operasi dengan perintah tangan pendek.

Misalnya, untuk menyalin teks yang disorot, kita menggunakan perintah ‘y‘ dan ‘x‘ untuk memotongnya. Namun, secara default, konten papan klip vim (dan bukan gVim) tidak dapat diakses setelah menutup instance vim.

Vim menggunakan register '+' untuk merujuk ke clipboard sistem. Anda dapat menjalankan 'vim –version' dan jika Anda tidak dapat melihat sesuatu seperti “+xterm_clipboard” dan sebaliknya “xterm_clipboard“, maka konten clipboard internal tidak akan tersedia di luar vim.

Instal gvim dan parsellite

Untuk mengakses konten clipboard vim, Anda perlu menginstal paket gvim. gVim adalah mode GUI untuk editor vim di mana opsi papan klip diaktifkan secara default.

yum install -y gvim

Selanjutnya, aktifkan Repositori RPMForge untuk menginstal paket parcellite. Parcellite adalah pengelola clipboard yang ringan, kecil, dan gratis untuk Linux.

yum install -y parcellite

Setelah terinstal, jalankan perintah berikut. Dimana argumen '&' digunakan untuk mengirim parsel untuk dijalankan sebagai proses latar belakang.

parcellite &

Periksa apakah opsi ini diaktifkan di gvim.

gvim --version

Pastikan Anda memiliki opsi “+xterm_clipboard” yang ditampilkan pada output seperti yang ditunjukkan di bawah ini.

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

Buka file .bashrc pengguna.

vim ~/.bashrc

Dan tambahkan alias dan simpan file (tekan 'i' untuk menyisipkan baris dan tekan ESC, lalu jalankan :wq untuk menyimpan dan keluar) .

.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

Alias ini adalah bawaan yang digunakan untuk mem-bypass beberapa perintah ke perintah lainnya. Jadi setiap kali perintah vim dikeluarkan, alias yang sesuai masuk ke gvim dengan clipboard diaktifkan secara default.

Sekarang edit file '.vimrc' Anda dengan cara yang sama (Jika Anda tidak memiliki file .vimrc, buat satu file tersebut lalu kembali ke sini .

vim ~/.vimrc

Tambahkan baris berikut dan simpan file.

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

Sekarang buka file apa pun di vim dan sorot bagian teks (menggunakan perintah 'v') dan tekan “+y. Coba tempel di mana saja di luar vim (setelah menutup atau tanpa menutup vim) dan selesai.

Menghasilkan File .vimrc

Jalankan perintah berikut untuk menghasilkan file .vimrc (lewati bagian ini jika Anda sudah memilikinya).

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

Di vim jalankan yang berikut ini setelah menekan tombol ESC (Dalam vim setiap perintah dijalankan setelah menekan tombol ESC yang menempatkan Anda dalam mode perintah).

:r $VIMRUNTIME/vimrc_example.vim 
:w