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-এ বের হওয়ার পর বা ছাড়াও বাহরে কোথাও পেস্ট করার চেষ্টা করুন এবং কাজটি সম্পন্ন।
.vimrc ফাইল জেনারেট করা
নিচের কমান্ড চালান .vimrc ফাইল জেনারেট করতে (যদি ইতিমধ্যে থাকে তবে এই অংশটি বাদ দিন)।
# cd [এটি আপনাকে হোম ডিরেক্টরিতে নিয়ে যাবে] # vim .vimrc
Vim-এ ESC কী চাপার পর নিচের কমান্ডটি চালান (Vim-এ প্রতিটি কমান্ড ESC কী চাপায় কমান্ড মোডে যাওয়ার পর চালানো হয়)।
:r $VIMRUNTIME/vimrc_example.vim :w