यह पोस्ट साथियामूर्ति द्वारा लिखी गई है।
यह लेख चल रहे Vi / Vim Tips and Tricks Series का हिस्सा है। Linux sysadmin या प्रोग्रामर के रूप में, आप बैश शेल स्क्रिप्ट को कोड करते समय निम्नलिखित दोहराए जाने वाले कार्य कर सकते हैं:
- फ़ाइल हेडर जोड़ना
- फंक्शन/फ्रेम कमेंट जोड़ना
- डिफ़ॉल्ट कोड स्निपेट सहित
- सिंटैक्स जांच करना
- किसी फ़ंक्शन के बारे में दस्तावेज़ पढ़ना
- किसी कोड ब्लॉक को टिप्पणी में कनवर्ट करना, और इसके विपरीत
बैश-सपोर्ट विम प्लगइन उपरोक्त सभी को करने का सबसे आसान तरीका प्रदान करता है, जिससे बहुत समय और कीस्ट्रोक्स की बचत होती है। जैसे:"मेनू और हॉटकी का उपयोग करके BASH- स्क्रिप्ट लिखें और चलाएं।"
यह लेख बताता है कि प्लगइन को 3 आसान चरणों और प्लगइन की 8 शक्तिशाली विशेषताओं में कैसे स्थापित किया जाए।
बैश-समर्थन प्लगइन स्थापित करने के 3 चरण
चरण 1:बैश-समर्थन प्लगइन डाउनलोड करें
vim.org वेबसाइट से प्लगइन डाउनलोड करें।
$ cd /usr/src $ wget -O bash-support.zip https://www.vim.org/scripts/download_script.php?src_id=9890
चरण 2:बैश-समर्थन विम प्लगइन स्थापित करें
$ mkdir ~/.vim # if the directory does not exist already $ cd ~/.vim $ unzip /usr/src/bash-support.zip
चरण 3:~/.vimrc में प्लगइन सक्षम करें
विम संपादक के लिए प्लगइन को सक्षम करने के लिए ~/.vimrc में निम्न पंक्ति जोड़ें।
$ vim ~/.vimrc filetype plugin on
बैश विम प्लगइन की 8 शक्तिशाली विशेषताएं
सुविधा 1:*.sh फ़ाइल में स्वचालित शीर्षलेख जोड़ें
जब आप .sh एक्सटेंशन वाली फ़ाइल खोलते हैं तो यह नीचे दिखाए गए अनुसार हेडर वाली फ़ाइल को खोलता है। यह कर्सर को इन्सर्ट मोड में विवरण फ़ील्ड में भी रखेगा।
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: (), # COMPANY: # VERSION: 1.0 # CREATED: 02/14/09 15:42:08 IST # REVISION: --- #============================================================
AUTHOR और कंपनी के डिफ़ॉल्ट मान को बदलने के लिए, ~/.vimrc
let g:BASH_AuthorName = 'SathiyaMoorthy' let g:BASH_Email = '[email protected]' let g:BASH_Company = 'Open Source Corporation'
अब, जब आप एक नई बैश स्क्रिप्ट फ़ाइल बनाते हैं, तो यह नीचे दिखाए गए अनुसार AUTHOR और कंपनी के लिए संशोधित मान दिखाएगा।
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: SathiyaMoorthy (), [email protected] # COMPANY: Open Source Corporation # VERSION: 1.0 # CREATED: 02/14/09 15:39:58 IST # REVISION: --- #============================================================
नोट: शीर्षलेख में कस्टम फ़ील्ड जोड़ने के लिए, ~/.vim/perl-support/templates/bash-file-header फ़ाइल को संशोधित करें और अपना स्वयं का कस्टम फ़ील्ड जोड़ें।
सुविधा 2:\sfu का उपयोग करके बैश फ़ंक्शन जोड़ना
सबरूटीन लिखने के लिए, सामान्य मोड में \sfu टाइप करें, जो फ़ंक्शन नाम के लिए संकेत देगा (जैसा कि नीचे चित्र 1 में दिखाया गया है) और डिफ़ॉल्ट फ़ंक्शन सामग्री के साथ सबरूटीन सम्मिलित करता है (जैसा कि नीचे चित्र 2 में दिखाया गया है)।
चित्र 1: शेल स्क्रिप्ट के अंदर बैश फ़ंक्शन जोड़ने के लिए \sfu टाइप करें
चित्र 2: बैश फ़ंक्शन स्वचालित रूप से शेल स्क्रिप्ट के अंदर जोड़ा गया
सुविधा 3:\cfu
. का उपयोग करके फ़ंक्शन हैडर डालेंफ़ंक्शन हेडर डालने के लिए, सामान्य मोड में \cfu टाइप करें, जो चित्र 3 में दिखाए गए टिप्पणियों को दिखाता है।
चित्र 3: शेल स्क्रिप्ट के अंदर फ़ंक्शन हेडर डालने के लिए \cfu टाइप करें
सुविधा 4:\cfr
. का उपयोग करके एक फ़्रेम टिप्पणी जोड़ेंएक फ्रेम टिप्पणी जोड़ने के लिए, सामान्य मोड में \cfr टाइप करें, जो निम्न स्वरूपित टिप्पणी देगा जैसा कि चित्र 4 में दिखाया गया है।
चित्र 4: शेल स्क्रिप्ट के अंदर एक फ्रेम टिप्पणी डालने के लिए \cfr टाइप करें
सुविधा 5:शेल स्क्रिप्ट के अंदर बैश स्टेटमेंट डालें
कथन सम्मिलित करने के लिए शॉर्टकट कुंजियाँ हैं:
- \sc मामले में ... esac
- \sl एलिफ तब
- \sf के लिए किया गया
- \sfo के लिए ((...)) किया हो गया
- \si अगर तब फाई
- \sie अगर फिर फाई
- \ss हो गया में चुनें
- \st पूरा होने तक
- \sw जब किया हो
- \sfu समारोह
- \se इको ई "\n"
- \sp प्रिंटफ "\n"
उदाहरण:केस स्टेटमेंट को शेल स्क्रिप्ट के अंदर स्वचालित रूप से डालें
\sc केस स्टेटमेंट को सम्मिलित करेगा और केस स्टेटमेंट के आगे कर्सर को INSERT मोड में रखेगा जैसा कि चित्र 5 में दिखाया गया है। इस तरह आप तालिका 1 में उपयुक्त स्टेटमेंट प्राप्त करने के लिए सभी उल्लिखित शॉर्ट कट कीस्ट्रोक्स का उपयोग कर सकते हैं।
चित्र 5: बैश शेल स्क्रिप्ट के अंदर केस स्टेटमेंट डालने के लिए \sc टाइप करें
सुविधा 6:\nr
का उपयोग करके बैश स्क्रिप्ट में पूर्वनिर्धारित कोड-स्निपेट डालेंकोड स्निपेट को क्रमशः \nr और \nw का उपयोग करके पढ़ा/लिखा जा सकता है। प्लगइन कुछ पूर्व-निर्धारित कोड स्निपेट के साथ आता है जिसे आप अपने कोड में सम्मिलित कर सकते हैं। प्लगइन के साथ आने वाले डिफ़ॉल्ट कोड स्निपेट निम्नलिखित हैं।
$ ls -1 ~/.vim/bash-support/codesnippets/ assert basename+pathname basename-function check-number-of-command-line-arguments create-tempfile create-tempfile-with-trap free-software-comment read-and-split-into-array timestamp usage-and-command-line-arguments.noindent use-file-descriptor-read use-file-descriptor-write well-behaved-script
चेक-नंबर-ऑफ-कमांड-लाइन-आर्ग्युमेंट्स कोड स्निपेट शामिल करने के लिए, \nr दबाएं और आपको फ़ाइल नाम के लिए संकेत दिया जाएगा। फ़ाइल का नाम चेक-नंबर-ऑफ-कमांड-लाइन-आर्ग्युमेंट्स के रूप में दें और निम्न कोड स्वचालित रूप से शेल-स्क्रिप्ट में डाला जाएगा।
#----------------------------------------------------------------------- # Check number of command line arguments #----------------------------------------------------------------------- if [ $# -lt 1 ] then echo -e "\n\tUsage: ${0##/*/} File\n" exit 1 fi
नोट: आप अपने स्वयं के कोड स्निपेट को परिभाषित कर सकते हैं और इसे ~/.vim/bash-support/codesnippets/ के अंतर्गत रख सकते हैं। आप मौजूदा कोड से अपना खुद का कोड स्निपेट भी बना सकते हैं - कोड के उस हिस्से का चयन करें जिसे कोड स्निपेट के रूप में बनाने की आवश्यकता है, \nw दबाएं, और उसे एक फ़ाइल-नाम दें। अगली बार से, अपना कस्टम कोड स्निपेट प्राप्त करने के लिए \nr और फ़ाइल-नाम टाइप करें।
फीचर 7:बैश बिल्टिन कमांड पर त्वरित सहायता प्राप्त करें
जब आपको बैश बिलिन के लिए सहायता पृष्ठ पढ़ने की आवश्यकता हो तो \hh का उपयोग करें जब कर्सर शब्द में हो।
निम्न उदाहरण (चित्र 6) में, रीड बैश बिल्टिन कमांड का चयन किया जाता है और \hh टाइप किया जाता है, जो रीड कमांड पर क्विक-हेल्प प्रदर्शित करता है। सभी बैश बिल्ट-इन कमांड पर त्वरित-सहायता प्राप्त करने के लिए समान विधि का उपयोग करें।
चित्र 6: चुने गए बैश बिलिन कमांड के बारे में मदद पाने के लिए \hh टाइप करें
फीचर 8:फीचर्ड कमेंटिंग
निम्नलिखित आदेश संबंधित कीवर्ड टिप्पणियों को जोड़ देंगे। उदाहरण के लिए, शेल-स्क्रिप्ट के अंदर बग कमेंट लाइन जोड़ने के लिए \ckb टाइप करें।
- \ckb कीवर्ड बग
- \ckt कीवर्ड TODO
- \ckr कीवर्ड ट्रिकी
- \ckw कीवर्ड चेतावनी
कीवर्ड "# :TODO:mm/dd/yy::" के साथ एक कमेंट लाइन जोड़ने के लिए \ckt टाइप करें। यह मूल रूप से एक टिप्पणी पंक्ति है जो एक TODO के रूप में कार्य करती है, जहां आप वे आइटम टाइप कर सकते हैं जिन्हें आप बाद में करना चाहते हैं।
चित्र 7: TODO को बैश शेल स्क्रिप्ट में जोड़ने के लिए \ckt टाइप करें
बैश-समर्थन प्लगइन में बहुत सारी शक्तिशाली विशेषताएं हैं। अधिक जानकारी के लिए दस्तावेज़ीकरण पढ़ें। दस्तावेज़ीकरण आपके सिस्टम पर निम्न स्थान पर स्थित है।
- पढ़ें:~/.vim/README.bashsupport
- पीडीएफ :~/.vim/bash-support/doc/bash-hot-keys.pdf
- ऑनलाइन बैश-समर्थन vim प्लगइन दस्तावेज़ीकरण
- यह प्लगइन एक सहायता फ़ाइल (bashsupport.txt) के साथ आता है जिसे :h bashsupport द्वारा देखा जा सकता है
- [ :helptags ~/.vim/doc द्वारा सहायता टैग जेनरेट करें, और फिर :h bashsupport ] जारी करें
- इस प्लग-इन के अतिरिक्त स्क्रीनशॉट।
अनुशंसित पठन
विम 101 हैक्स, रमेश नटराजन द्वारा . मैं एक कमांड-लाइन जंकी हूं। इसलिए, स्वाभाविक रूप से मैं वीआई और विम संपादकों का बहुत बड़ा प्रशंसक हूं। कई साल पहले, जब मैंने लिनक्स पर बहुत सारे सी कोड लिखे थे, तो मैं सभी उपलब्ध विम एडिटर टिप्स और ट्रिक्स पढ़ता था। मेरे विम संपादक अनुभव के आधार पर, मैंने विम 101 हैक्स ईबुक लिखी है जिसमें विभिन्न उन्नत विम सुविधाओं पर 101 व्यावहारिक उदाहरण हैं जो आपको विम संपादक में तेज़ और उत्पादक बना देंगे। यदि आप कई वर्षों से Vi और Vim संपादकों का उपयोग कर रहे हैं और इस पुस्तक को नहीं पढ़ा है, तो कृपया स्वयं पर एक एहसान करें और इस पुस्तक को पढ़ें। आप विम संपादक की क्षमताओं से चकित होंगे।