Tento příspěvek napsal SathiyaMoorthy.
Tento článek je součástí probíhající série Vi / Vim Tipy a triky. Jako systémový administrátor nebo programátor Linuxu můžete při kódování skriptu bash shell provádět následující opakující se úkoly:
- Přidání záhlaví souboru
- Přidání komentáře funkce/rámce
- Včetně výchozího fragmentu kódu
- Provádí se kontrola syntaxe
- Čtení dokumentace o funkci
- Převod bloku kódu na komentář a naopak
Plugin bash-Support Vim nabízí nejsnazší způsob, jak provést vše výše uvedené, čímž ušetří spoustu času a stisku kláves.
Plugin napsal Fritz Mehner, který vysvětluje účel pluginu jako:“Psát a spouštět BASH skripty pomocí nabídek a klávesových zkratek.”
Tento článek vysvětluje, jak nainstalovat plugin ve 3 jednoduchých krocích a 8 výkonných funkcí pluginu.
3 kroky k instalaci pluginu podporující bash
Krok 1:Stáhněte si plugin podporující bash
Stáhněte si plugin z webu vim.org.
$ cd /usr/src $ wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?src_id=9890
Krok 2:Nainstalujte plugin Vim podporující bash
$ mkdir ~/.vim # if the directory does not exist already $ cd ~/.vim $ unzip /usr/src/bash-support.zip
Krok 3:Povolte plugin v ~/.vimrc
Přidejte následující řádek do ~/.vimrc, abyste povolili plugin pro editor Vim.
$ vim ~/.vimrc filetype plugin on
8 výkonných funkcí pluginu Bash Vim
Funkce 1:Přidání automatického záhlaví do souboru *.sh
Když otevřete soubor s příponou .sh, otevře se soubor s hlavičkou, jak je uvedeno níže. Tím také umístíte kurzor do pole Popis v režimu vkládání.
#!/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: --- #============================================================
Chcete-li změnit výchozí hodnotu AUTHOR a COMPANY, přidejte následující řádky do ~/.vimrc
let g:BASH_AuthorName = 'SathiyaMoorthy' let g:BASH_Email = '[email protected]' let g:BASH_Company = 'Open Source Corporation'
Nyní, když vytvoříte nový soubor skriptu bash, zobrazí upravené hodnoty pro AUTHOR a COMPANY, jak je uvedeno níže.
#!/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: --- #============================================================
Poznámka: Chcete-li do záhlaví přidat vlastní pole, upravte soubor ~/.vim/perl-support/templates/bash-file-header a přidejte své vlastní pole.
Funkce 2:Přidání funkce Bash pomocí \sfu
Pro zápis podprogramu zadejte \sfu v normálním režimu, což vás vyzve k zadání názvu funkce (jak je znázorněno na obrázku 1 níže) a vloží podprogram s výchozím obsahem funkce (jak je znázorněno na obrázku 2 níže).
Obr. 1: Napište \sfu pro přidání bash funkce do shell skriptu
Obr. 2: Bash funkce přidána automaticky do shell skriptu
Funkce 3:Vložení záhlaví funkce pomocí \cfu
Pro vložení záhlaví funkce zadejte \cfu v normálním režimu, který zobrazí komentáře, jak je znázorněno na obr. 3.
Obr. 3: Napište \cfu pro vložení záhlaví funkce do shell skriptu
Funkce 4:Přidání komentáře ke snímku pomocí \cfr
Chcete-li přidat komentář ke snímku, zadejte v normálním režimu \cfr, čímž získáte následující formátovaný komentář, jak je znázorněno na obrázku 4.
Obr 4: Napište \cfr pro vložení rámečku komentáře do shell skriptu
Funkce 5:Vložení příkazů Bash do skriptu Shell
Klávesové zkratky pro vkládání příkazů jsou:
- \sc případ v … esac
- \sl elif pak
- \sf protože je hotovo
- \sfo for ((…)) do done
- \si pokud pak fi
- \sie když tak jinak fi
- \ss vyberte v do done
- \st dokud nebude hotovo
- \sw zatímco hotovo
- \sfu funkce
- \se echo e „\n“
- \sp printf „\n“
Příklad:Vložení Case Statement do skriptu shellu automaticky
\sc vloží příkazy case a umístí kurzor vedle příkazu case v režimu INSERT, jak je znázorněno na obrázku 5. Takto můžete použít všechny zmíněné klávesové zkratky k získání příslušného příkazu v tabulce 1.
Obr. 5: Napište \sc pro vložení případu do skriptu bash shell
Funkce 6:Vložení předdefinovaného fragmentu kódu do skriptu Bash pomocí \nr
Fragmenty kódu lze číst / zapisovat pomocí \nr a \nw. Plugin je dodáván s několika předdefinovanými úryvky kódu, které můžete vložit do kódu. Níže jsou uvedeny výchozí fragmenty kódu, které jsou součástí pluginu.
$ 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
Chcete-li zahrnout fragment kódu pro kontrolu počtu argumentů příkazového řádku, stiskněte \nr a budete vyzváni k zadání názvu souboru. Zadejte název souboru jako check-number-of-command-line-arguments a následující kód bude automaticky vložen do shell-scriptu.
#----------------------------------------------------------------------- # Check number of command line arguments #----------------------------------------------------------------------- if [ $# -lt 1 ] then echo -e "\n\tUsage: ${0##/*/} File\n" exit 1 fi
Poznámka: Můžete definovat své vlastní fragmenty kódu a umístit je pod ~/.vim/bash-support/codesnippets/. Můžete si také vytvořit své vlastní fragmenty kódu ze stávajícího kódu – vyberte část kódu, kterou je třeba vytvořit jako fragment kódu, stiskněte \nw a zadejte název souboru. Příště zadejte \nr a název souboru, abyste získali vlastní fragment kódu.
Funkce 7:Získejte rychlou nápovědu k Bash Builtin Commands
Když si potřebujete přečíst stránku nápovědy pro vestavěné bash, použijte \hh, když je kurzor ve slově.
V následujícím příkladu (obr. 6) je vybrán vestavěný příkaz read bash a je napsáno \hh, čímž se zobrazila rychlá nápověda k příkazu read. Použijte stejnou metodu k získání rychlé nápovědy ke všem vestavěným příkazům bash.
Obr. 6: Chcete-li získat nápovědu k vybranému vestavěnému příkazu bash
, zadejte \hhFunkce 8:Doporučené komentáře
Následující příkazy přidají odpovídající komentáře klíčových slov. Například napište \ckb pro přidání řádku komentáře BUG do shell-scriptu.
- \ckb Klíčové slovo BUG
- \ckt Klíčové slovo TODO
- \ckr Záludné klíčové slovo
- \ckw Klíčové slovo VAROVÁNÍ
Zadáním \ckt přidáte řádek komentáře s klíčovým slovem „# :TODO:mm/dd/rr::“. Toto je v podstatě řádek s komentářem, který funguje jako TODO, kde můžete zadat položky, které byste chtěli udělat později.
Obr. 7: Napište \ckt pro přidání TODO do skriptu bash shell
V pluginu podporující bash je mnoho výkonných funkcí. Další informace naleznete v dokumentaci. Dokumentace je ve vašem systému umístěna na následujícím místě.
- README:~/.vim/README.bashsupport
- PDF:~/.vim/bash-support/doc/bash-hot-keys.pdf
- Online dokumentace pluginu vim podporující bash
- Tento plugin je dodáván se souborem nápovědy (bashsupport.txt), který může zobrazit :h bashsupport
- [ Vygenerujte značky nápovědy pomocí :helptags ~/.vim/doc a poté zadejte :h bashsupport ]
- Další snímky obrazovky tohoto pluginu.
Doporučená četba
Vim 101 Hacks, od Rameshe Natarajan . Jsem feťák příkazového řádku. Takže jsem přirozeně velkým fanouškem editorů Vi a Vim. Před několika lety, když jsem psal hodně kódu C na Linuxu, jsem četl všechny dostupné tipy a triky editoru Vim. Na základě mých zkušeností s editorem Vim jsem napsal e-knihu Vim 101 Hacks, která obsahuje 101 praktických příkladů různých pokročilých funkcí Vim, díky nimž budete v editoru Vim rychlý a produktivní. I když používáte editory Vi a Vim několik let a nečetli jste tuto knihu, udělejte si laskavost a přečtěte si tuto knihu. Budete ohromeni možnostmi editoru Vim.