echo '#!/bin/sh' > pozdrav echo 'echo ahoj' >> pozdrav echo echo `whoami` >> pozdrav chmod u+x pozdravVytvořte si ho znovu, ať máme všichni stejnou podobu tohoto skriptu.
#!/bin/sh echo -n "ahoj " echo `whoami`a to takto:
vim pozdrav jsme v příkazovém režimu :set number (resp. :set num+tabelátor) - zapneme čísla řádků stále jsme v příkazovém režimu 3+[SHIFT]+g - skočíme na 3.řádek dd - tento řádek smažeme /ahoj - najdeme slovo ahoj i - přepneme se do vkládacího režimu upravíme řádek na tvar: echo -n "ahoj␣" echo `whoami` ESC - přepneme se do příkazového režimu :set nonumber - vypneme číslování řádků :w - soubor uložíme ^z - přepneme vim na pozadí ./pozdrav - vyzkoušíme jestli skript správně funguje fg - zpět do vim :q - ukončíme vim
ESC [SHIFT]+g - skok na konec souboru :%s/:␣/./ - záměna :␣ za . 1 [SHIFT]+g - skok na 1.řádek fd - najdi znak "d" řádku ^v - začni označovat sloupcový blok [SHIFT]+g skok na konec souboru 5↑ - o 5 řádků nahoru (poslední je "příliš" krátký) $ - skok na konec řádku d - smaž označený blok [SHIFT]+g fd ^v 5↑ $d [SHIFT]+g :%s/^/␣/ na začátek všech řádků jsem přidal mezeru, kurzor je na "s" od soubor40 ^v 1 [SHIFT]+g f1 - skok na znak "1" y - kopie bloku do schránky ← - o znak do leva P - vložím blok před aktuální pozici :%s/^/mv / - záměna začátku řádku za mv␣ [SHIFT]+g $ ^v 4← 1 [SHIFT]+g f. u - vybraný blok převedu na malá písmena :wq - uložím a skončímsh zpracuj
/function
[SHIFT]+v - označuji řádkový blok f{ - na řádku najdu otevírací složenou závorku % - skočím na párovou : - s blokem chci něco udělat (automaticky se doplní na :'<,'>) :'<,'>fofunkce se zbalí do jednoho řádku:
+---- 14 lines" function presun($z,$na,$pom,$kolik){---------------
zopro rozbalení a
zcpro opětovné zbalení
/^print - našel jsem řádek, který začíná print [SHIFT]+v - označuji řádkový blok ↓↓↓↓↓ - posunu se o 5 řádků níže :'<,'>s/^/#/ - na vybraném bloku přidám (zaměním) na začátek řádku #pozn. bylo by také možné provést záměnu v celém souboru tj.
:%s/^print/#print
ls -l hesse-demian.txt > vystup
vim hesse-demian.txtjste na prvním řádku (to vidíte vpravo dole 1,5), tento řádek příkazem dd odstraňte.
I to je přepnutí se do vkládacího režimu a to tak, že na začátku řádky vložíme 5 mezer tj. 1 je na stejné pozici jako ostatní čísla
ESC přejdete do příkazového režimu kurzorovou šipkou na mezeru za "1" ^v tj. označení sloupcového bloku SHIFŤ+g tj. skok na konec souboru kurzorovou šipkou až na začátek řádku d tj. smazání označeného bloku
ESC :w
ls -l hesse-demian.txt >> vystup
fg
%s/KAPITOLA/KAPITOLA/vim oznámí kolik záměn bylo provedeno anebo, opět s vim na pozadí, a pomocí grep a wc tj.
^z grep KAPITOLA hesse-demian.txt | wc –l fg
:1 - tj. skok na první řádek qe - definuji makro na "e" /KAPITOLA - hledej slovo KAPITOLA i - přepni se do vkládacího režimu [ENTER] ↓ - jdi na další řádek ESC q - ukončení učení makra xxx @e - makro na "e" spustíme tolikrát kolikrát je potřebaanebo pomocí záměny v celém souboru tj.
%s/KAPITOLA/^v[ENTER]KAPITOLApozn. ^v "odstíní" klávesu ENTER
:vsplit vystup(pro psaní vsplit i vystup lze použít tabelátor)
:1 - skok na začátek souboru v - začátek označování bloku /každý sám.[ENTER]tento text zkopírujte do schránky
y
^w→ - přepnutí se do podokna vysledky [SHIFT]+g - skok na konec souboru p - vložení bloku
ESC :w :q mail -s výsledky richter@karlin.mff.cuni.cz < vypis
ESC - dostanu se do příkazového režimu :% !sort - celý soubor "proženu" příkazem systému sort ESC … - dostanu se do příkazového režimu qa - definuji makro pro písmenko a první řádek je Prijmeni1 Jmeno1, "nějaké další informace" ^ skočím na začátek řádku dw jsem smazal Prijmeni1 (mám ho ve schránce) e skočil jsem na konec slova a␣ připsal jsem mezeru za prijmeni1 ESC návrat do příkazového režimu p jsem vložil jmeno1 x smažu mezeru, která je za příjmením ↓ přesunu se na nižší řádek q skončím definici makra pro 'a' druhý řádek je: Prijmeni2 Jmeno2, … - jsem někde v rámci slova Jmeno2 v příkazovém režimu [SHIFT]+g skočím na konec souboru a zjistím, že tento soubor má 718řádek ’’ skočím zpět na 2.řádek 717@a 717 zopakuj makro definované pro klávesu a … a je hotovo :w - soubor uložím 1 [SHIFT]+g skočím na začátek souboruVytvoříme makro na smazání veškerého textu na řádku počínaje znakem ","
qb - definuji makro pro písmenko b ^ - skok na začátek řádku f, - na řádku najdu čárku d$ - smažu vše až do konce řádku ↓ - přesunu se o řádek níž ESC q - ukončení záznamu makra [SHIFT]+gzjistím, že soubor má 718 řádků
2 [SHIFT]+gskok na 2.řádek (mohl bych také použít '' tj. dva apostrofy pro skok na místo "kde jsem byl před tím než jsem skočil na konec řádku"
717@amakro "a" spustím 717 ...
ESC :w seznam-prosty.txt - uložím pod příslušným názvem :q! - skončím bez uložení původního souboru mail -s seznam richter@karlin.mff.cuni.cz < seznam-prosty.txt
\documentclass{article} \begin{dokument} \end{dokument}a kurzor bude umístěn na místo prázdné řádky
cd vim .vimrc [SHIFT]+g i map tex i\documentclass{article}^v[ENTER]\begin{document}^v[ENTER]\end{document}^v[ESC]O ESC :wqOtevřete si prázdný dokument a makro vyzkoušejte
imap ( ()^vESCi - kdykoliv v textu napíšu otevírací závorku tak: se napíše otevírací a uzavírací kulatá závorka bylo by to možné udělat také takto: imap ( ()^v←stejným způsobem i pro [ a {
<html> <head> <meta charset=utf8> </head> <head> </body> </html>