Vim (Vi IMproved) प्रोग्रामर्स के बीच सबसे पसंदीदा टेक्स्ट एडिटर्स में से एक है। शॉर्टहैंड कमांड्स के साथ विभिन्न ऑपरेशन करने में इसकी अपनी विशेषताएं हैं।

उदाहरण के लिए, हाइलाइटेड टेक्स्ट को कॉपी करने के लिए हम 'y' कमांड का उपयोग करते हैं और 'x' से उसे काटते हैं। लेकिन, डिफ़ॉल्ट रूप से vim (और gVim नहीं) क्लिपबोर्ड सामग्री vim इंस्टेंस बंद होने के बाद एक्सेस नहीं की जा सकती।
Vim सिस्टम क्लिपबोर्ड को संदर्भित करने के लिए '+' रजिस्टर का उपयोग करता है। आप 'vim --version' चला सकते हैं और यदि आप "+xterm_clipboard" जैसा कुछ नहीं देख सकते हैं और इसके बजाय "-xterm_clipboard" देखते हैं, तो आंतरिक क्लिपबोर्ड सामग्री vim के बाहर उपलब्ध नहीं होगी।
gvim और parcellite इंस्टॉल करें
vim क्लिपबोर्ड सामग्री तक पहुंचने के लिए, आपको gvim पैकेज इंस्टॉल करना होगा। gVim vim एडिटर के लिए एक GUI मोड है जहां क्लिपबोर्ड विकल्प डिफ़ॉल्ट रूप से सक्षम है।
# yum install -y gvim
इसके बाद, parcellite पैकेज इंस्टॉल करने के लिए RPMForge रिपॉजिटरी सक्षम करें। Parcellite लिनक्स के लिए एक हल्का, छोटा और मुफ्त क्लिपबोर्ड मैनेजर है।
# 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 byCompiled by 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 [यह आपको होम डायरेक्टरी में रखेगा] # vim .vimrc
vim में ESC कुंजी दबाने के बाद निम्नलिखित चलाएं (vim में हर कमांड ESC कुंजी दबाने के बाद चलाई जाती है जो आपको कमांड मोड में रखती है)।
:r $VIMRUNTIME/vimrc_example.vim :w