GNU/Linux >> Znalost Linux >  >> Linux

20 nejlepších příkazů Linux Vim, které zvyšují produktivitu

VIM nebo Vi Improved textový editor je jedním z nejpokročilejších dostupných textových editorů. Pojďme se naučit 20 nejlepších příkazů Linux Vim, které musíte znát, abyste dosáhli úžasné úrovně produktivity.

Pamatujte, že textový editor VIM má poměrně strmou křivku učení. Jakmile si však na příkazy zvyknete, dosáhnete bezkonkurenční produktivity ve svých každodenních úkolech, které vyžadují práci s textem (dokonalý textový editor pro programátory!)

Velmi podivínské, že? Pojďme pochopit editor a příkazy v něm.

Příkazy Linux Vim pro základní navigaci

Než začneme, pojďme si projít, jak se můžeme pohybovat v editoru VIM. VIM je editor zaměřený na klávesnici, takže si musíte začít zvykat, že se nebudete dotýkat myši pro základní navigační úkoly.

Klíče Akce
Klávesy se šipkami
h j k l
Základní pohyb kurzoru jako obvykle
B b
W w
Posouvání zpět a vpřed o jedno slovo najednou – kurzor na začátku slova
<Číslo řádku> G Přeskočit na zadané číslo řádku
Ctrl+u
Ctrl+d
Podobné jako klávesa o stránku nahoru/dolů, zatímco kurzor zůstává na obrazovce.
e Posunout dopředu o jedno slovo – kurzor na konci slova
#
*
Najděte v dokumentu slovo, na kterém se aktuálně nachází váš kurzor.
n
N
Opakuje poslední hledání příkaz

Vydejte se s nejlepšími příkazy a funkcemi Linux Vim

Editor VIM je nejen flexibilní a komplexní, ale také velmi intuitivní a „chytrý“, pokud jde o porozumění napsanému kódu.

Ale pokud vám nevadí trávit čas pohybem kurzoru myši po ukazování a klikání na věci, není důvod, abyste zvažovali VIM. Tento textový editor je pro programátory a geeky, kteří opravdu rádi jdou naplno, ignorují myš a všechno dělají pomocí klávesnice.

S VIM je to tak, že pokud to lze provést pomocí myši v jiných textových editorech, lze to provést pouze pomocí klávesnice ve VIM.

1. Práce s více soubory ve Vimu

Většina z nás programátorů je zvyklá pracovat s více soubory současně. Naše textové editory GUI nám poskytují karty, které umožňují přepínání mezi soubory, zatímco všechny zůstávají současně otevřené. I když existuje několik klávesových zkratek, které si s těmito kartami můžete pohrát, nelze to srovnávat s tím, co umí VIM.

:tabedit <tab key to scroll through files in directory>

Nejlepší část? Myší se vůbec nedotýkáte. Jak se pohybujete v souborech? S gt nebo gT pro přepínání karet dopředu nebo dozadu. Také :tabfirst a :tablast vám umožní přeskakovat tam a zpět z první na poslední aktuálně otevřené karty.

Pokud ale chcete otevřít všechny soubory přímo na začátku, stačí napsat:

vim -p source_file1.py source_file2.py source_file3.py 

2. Uložit a otevřít relace karty ve VIM

Dobře, takže teď jste otevřeli spoustu souborů na kartách a také jste se přesunuli přes provedené změny v souborech. Všimli jste si ale, že musíte vždy otevřít soubory pokaždé, když je chcete mít na kartách?

Co kdyby existoval způsob, jak uložit otevřené soubory tak, jak jsou, a jednoduše s nimi pohybovat?

Přesně k tomu slouží relace VIM. Když ve VIM pracujete s více soubory, je lepší relaci VIM uložit, aby se při příštím otevření souboru relace vše vrátilo přesně tak, jak jste to opustili.

Jak vytvoříte relaci VIM? Nejprve opustíte režim vkládání stisknutím Esc klíč. Poté zadejte níže uvedený příkaz.

:mksession <Session Name>.vim

Až budete příště chtít relaci otevřít, můžete ji otevřít přímo z terminálu zadáním:

vim -S <Session Name>.vim

Nebo pokud chcete otevřít soubor relace ve VIM, stačí napsat:

:source <Session Name>.vim

3. Automatické dokončování textu ve VIM

Máte pocit, že se VIM nemůže srovnávat s funkcemi automatického doplňování jiných IDE nebo textových editorů? No, zkus to. I když k podpoře této funkce nepoužívá umělou inteligenci ani žádný druh algoritmů strojového učení, je dostatečně robustní.

Když se ve svém editoru VIM pokoušíte upravit nějaký kód, stisknutím níže uvedené kombinace kláves zkontrolujte, zda se jedná o skvělé automatické dokončování.

Ctrl+n

Na základě zadaných písmen editor najde nejbližší shodu pro slovo, které byste mohli napsat. Ačkoli nerozumí ničemu z toho, co píšete, dělá to opravdu dobře.

4. Příkazy Linux VIM k provedení párování závorek

Jak jsme již dříve zmínili, že editor VIM vyhledává vzory v textu, přináší s sebou párování složených závorek během kódování. Velmi nám to usnadňuje práci s dlouhými kódy.

Tenhle je docela přímočarý. Umístěte kurzor na otevírací/zavírací složenou závorku a stiskněte % podepsat na klávesnici.

A stejně tak váš kurzor přeskočí na odpovídající závorku.

5. Označte a složte bloky kódu ve VIM

Není to tak jednoduché, jak byste chtěli, protože editor kódu nerozumí tomu, co píšeme, ale pracuje pouze na porovnávání vzorů.

Jak tedy postupovat při skládání kódu v editoru vim? Začneme umístěním kurzoru na místo, kde chceme začít skládání, a odtud použijeme letter V začít označovat kód, dokud jej chceme přeložit.

Jakmile jsme kód označili písmenem V a poté stiskněte zf pro skládání kódu. f v zf znamená fold . jak otevřeme kód, který právě stiskneme, zvýrazněním prvního řádku složeného kódu

Abychom kód otevřeli nyní, můžeme umístit kurzor na řádek, kde je složený kód (jak můžete vidět na výše uvedeném snímku obrazovky, šedá čára, která říká 6 řádků:function1() . Jakmile je kurzor na tomto řádku, stiskněte zo kde o znamená otevřené .

Ale výše uvedená metoda je dobrá v případech, kdy je kód malý. Co když chcete proskočit několik set řádků kódu? Dovolte mi, abych vám ukázal další techniku ​​značení, která vám zkrátí čas na polovinu.

  • Přejděte na řádek, kde chcete začít skládání kódu
  • Stiskněte letter m následované jakýmkoli dalším písmenem pro označení označení. Například mk
  • Zvýrazněte kteroukoli složenou závorku v kódu a stiskněte % skočit přímo na odpovídající složenou závorku.
  • Stiskněte zf'k

'k signalizuje příkazu fold, aby hledal značku „k“, na kterou jsme poukázali zadáním mk na začátku.

6. Prozkoumejte soubory ve vašem systému, aniž byste opustili VIM

Běžný editor textu/kódu GUI by měl pocit, že mu chybí sloupec „Složka projektu“, který se obvykle nachází na levém postranním panelu okna editoru kódu. Dokáže to VIM replikovat?

Samozřejmě!

Pomocí dvou příkazů :Vexplore a :Sexplore , můžete rozdělit okno na dvě části a procházet celý souborový systém. Podívejte se na oba příkazy.

Jak vidíte, v obou případech se otevře správce souborů a můžete procházet soubory, aniž byste ztratili pozornost ze souboru kódu, na kterém jste pracovali.

Protože jsme již viděli možnosti rozdělené obrazovky VIM, jak rozdělíme obrazovku na dvě části a upravíme dva kódy?

7. Okno rozděleného kódu VIM

Okno VIM můžete rozdělit vertikálně nebo horizontálně a upravovat více souborů kódu, aniž byste se vzdalovali od druhého. Jak? Pojďme se podívat.

Vexplore a Sexplore příkazy nám umožňují procházet soubory a otevřít libovolný soubor v rozdělené části terminálu. Pokud ale chcete soubor pouze otevřít, můžete použít vsplit nebo split příkaz.

VERTICAL SPLIT
:vsplit <filename>

OR 

:vsp <filename>

HORIZONTAL SPLIT
:split <filename>

OR 

:sp <filename>

Výše uvedený příkaz rozdělí terminál vertikálně a otevře druhý soubor.

Příkaz Akce
Ctrl-w ←
NEBO
Ctrl-w h
Zaměřte se na levé sousední rozdělení
Ctrl-w →
NEBO
Ctrl-w l
Zaměřte se na pravé sousední rozdělení
Ctrl-w ↓
NEBO
Ctrl-w j
Zaměřte se na spodní sousední rozdělení
Ctrl-w ↑
NEBO
Ctrl-w k
Zaměřte se na horní sousední rozdělení
Ctrl-w n +
NEBO
Ctrl-w n
Zvětšit nebo zmenšit velikost rozdělení o n řádky

Pokud pracujete prostřednictvím klientského softwaru SSH, jako je Terminus Chcete-li se připojit k vašemu linuxovému serveru, pomocí výchozích příkazů VIM pro přepnutí rozdělení připojení jednoduše uzavřete.

Protože Ctrl-W je výchozí zkratka pro zavření karet na Terminus a na mnoha dalších Windows software. Jak to tedy uděláme?

VIM nám umožňuje přemapovat klíče, abychom ušetřili úhozy a také abychom se vyhnuli konfliktům.

8. Přemapovat a změnit příkazy Linux VIM

Některé klávesové zkratky ve VIM jsou poměrně těžkopádné a mohou nás přimět k přemýšlení, zda všechna ta námaha vůbec stojí za to!

remap , noremap , nnoremap , inoremap , vnoremap příkazy nám umožňují přemapovat stávající příkazy VIM na jakýkoli jiný klíč, který bychom chtěli nastavit.

Rozdíl mezi mapovacími příkazy je v režimech mapy, ve kterých pracují. Pokrytí režimů mapy je mimo rozsah tohoto tématu, takže to přenechám vám. Pokračujte a zadejte :help map-modes .

Toto je přehled režimů mapy, ale téma nápovědy obsahuje spoustu podrobností, pokud chcete těmto režimům porozumět.

Jak namapovat existující zkratky příkazů vim? Budeme pracovat s příkazem „map“.

Syntaxe :

:map <new key-combo> <existing key-combo>

For example: 
:map <C-J> <C-W><C-J>
:map <C-K> <C-W><C-K>
:map <C-L> <C-W><C-L>
:map <C-H> <C-W><C-H>
:map l gg

Výše uvedená mapování změní výchozí příkazy pro přepínání rozdělených oken na Ctrl-J, Ctrl-K a tak dále namísto přidaného Ctrl-W.

Poslední příkaz změní gg příkaz l . Kdykoli tedy stisknete l, dostanete se na první řádek.

Udělejte to pro tolik příkazů, kolik potřebujete. Ale tato mapování jsou založena na relacích. Jakmile vim ukončíte, mapování se resetuje.

Chcete-li nastavit trvalé mapování klíčů, musíme přidat příkazy do souboru VIMrc. Jednoduše zkopírujte a vložte příkazy bez : v ~/.vimrc soubor. Pokud soubor neexistuje, vytvořte jej pouze s příkazy, které potřebujete spustit při spuštění VIM.

Chcete-li nastavit tato mapování klíčů navíc ke stávající výchozí konfiguraci vim, stačí vytvořit kopii nebo symbolický odkaz původního souboru, jak je uvedeno níže:

root@ubuntu:~# ln -s ~/code/dotfiles/vim/vimrc ~/.vimrc

9. Příkazy Linux VIM pro povolení zvýraznění syntaxe

V návaznosti na naši předchozí sekci můžeme přidat příkaz syntax on v ~/.vimrc soubor pro povolení zvýraznění syntaxe. Podívejte se na rozdíl, který by to znamenalo.

Zvýraznění syntaxe můžete samozřejmě zapnout a vypnout i během relace, jako jsme to dělali u všech ostatních příkazů dříve.

10. Linuxové příkazy VIM pro vyjmutí, kopírování a vkládání

Kopírování a vkládání není tak jednoduché jako Ctrl-c Ctrl-v, ale je to docela snadné!

Ve VIM se akce kopírování nazývá Yank a akce Vyjmout se nazývá Smazat . Akce vložení se nadále nazývá Vložit .

Zkratky jsou tedy pojmenovány podle těchto jmen. Pokud například musím něco „vytrhnout“, mohu napsat y a vybraný text se trhne.

Chcete-li vyjmout text, příkaz je stejný jako příkaz delete, písmeno d . Můžete tedy pochopit, že i když odstraníte část textu, editor VIM ve skutečnosti připravuje text k vložení jinam.

Bez ohledu na sekci, ve které je kurzor, bude zkopírován nebo smazán. Chcete-li vložit zkopírovaný text, stačí napsat p vložit za kurzor a P vložit před kurzor.

11. Kontrola pravopisu ve VIM

Nečekali jste, že uvidíte tento bod, že? VIm má možnost kontroly pravopisu, která funguje na základě souboru slovníku, který je již k dispozici. Jediné, co musíme udělat, je nastavit jazyk.

Do souboru ~/.vimrc přidejte následující řádek:

set spell spelllang=en_us

Jak můžete vidět, text Lorem Ipsum se okamžitě zvýrazní, když povolím kontrolu pravopisu.

12. Substitution – Find and Replace in VIM

Funkce hledání a nahrazování, kterou nabízejí všechny textové editory GUI, se také nachází na VIM. Jak? Kvůli shodě vzorů.

:%s /Lorem/JournalDev/g

Výše uvedený řádek okamžitě nahradí každý výskyt Lorem na každém řádku (g ) se slovem JournalDev.

13. Spouštět příkazy Linuxu ve VIM

Takže upravujete nějaký kód a potřebujete rychle spustit příkaz. Potřebujete uložit a ukončit VIm jen pro spuštění kódu? Vlastně ne!

Vim vám umožňuje spouštět kód z editoru, aniž byste museli ztratit přehled o kódu. To lze provést použitím vykřičníku za dvojtečkou. Zde je příklad:

:!ping www.journaldev.com

A je to! Nyní, pokud je to příkaz, který skončí po výstupu, můžete stisknout klávesu ENTER a vrátit se k programování. Ale v případě tohoto příkazu ping můžete stisknout přerušení klávesnice Ctrl-C a poté stiskněte klávesu ENTER, aniž byste ztratili editor VIM na pozadí.

Případně můžete jednoduše zadat :shell aby se vám přímo otevřela skořápka. Až budete hotovi s tím, co potřebujete udělat, stačí zadat exit opustit shell a dostat se zpět do VIM, který zůstane tak, jak byl předtím.

14. Mazání více slov

Víte, že slova napravo od kurzoru je třeba odstranit. Ale ne celou větu. Jak to děláš? Se stejným příkazem a některými dalšími parametry.

d příkaz jednoduše použije číslo zadané za ním k odstranění těchto mnoha slov. Podívejte se na příkaz níže. Oba příkazy fungují podle toho, kde je kurzor.

d3w #This will delete 3 words to the right 
d3b #This will delete 3 words to the left

15. Příkaz Linux VIM pro vrácení změn

Zatímco si na VIM zvykáte, přijdou chvíle, kdy nakonec smažete něco, co jste nechtěli. Přístup Ctrl-Z na VIM nefunguje, jak tedy vrátit svou práci zpět?

u

Písmeno u automaticky vrátí změny stejně jako ctrl-z.

16. Vložit text z jiného souboru

To je docela užitečný hack produktivity. Šetří čas při kopírování a vkládání věcí z více souborů za účelem slučování mezi nimi.

Tak co to vlastně je? Jednoduše přečte text z jiného souboru, který je zadán, a vloží celý text hned za kurzor.

:r <file name>

17. Makra ve VIM

Víme, že VIM toho umí hodně, ale představovali jste si editor příkazového řádku, který by mohl zaznamenávat makra? Raději si začněte představovat, jak se tomuto editoru říká výkonný, protože tento jednoduše vypadající editor má velký potenciál.

Jak zaznamenáte makro? Je to velmi jednoduché! Vstoupíte do příkazového režimu (Pokud jste v režimu vkládání, stiskněte Esc ) .

qb #The letter after q is just to identify the macro. Can be anything
q #Stop recording macro
@b #Replay the macro. The letter runs that specific macro

Jaké je použití tohoto makra? Cokoli, co můžete dělat v editoru VIm, lze provést pomocí makra. Takže například vy:

  • Přejít na první slovo
  • Smazat první slovo
  • Nahraďte jej něčím jiným

Pokud to musíte udělat pro více řádků, vše, co musíte udělat, je nahrát makro a přehrát ho.

18. Použití Count For Commands

Téměř každý příkaz, který „může“ potřebovat zadat vícekrát, přijímá jako argument číslo. Například příkaz delete d , příkaz pro skok na řádek k , atd.

Takže pokud chci smazat 6 řádků, mohu provést příkaz d 6krát nebo jen říct 6d .

To je pro smazání, můžete to udělat také při pohybu po textu. Pokud se chci posunout o 3 slova, napíšu pouze 3w nebo 3e podle toho, kam chci umístit kurzor, na začátek nebo na konec.

19. Poznání pokroku v rámci souboru

Pokud procházíte dlouhým souborem a jednoduše potřebujete vědět, kde se právě nacházíte, přejděte na tento příkaz. Poskytne vám procentuální údaj o tom, kde se v daném okamžiku nacházíte v souboru.

Jak můžete vidět na obrázku výše, říká mi to, že současná pozice mého kurzoru je na značce 40 % od konce souboru. Příkaz k tomu je zadáním Ctrl-G když jste v příkazovém režimu.

20. Moduly nápovědy pro příkazy Linux VIM

Tento příspěvek zakončím tím, že budu mluvit o užitečném nástroji, příkazu help. Podobně jako u manuálových stránek v Linuxu, help umožňuje uživatelům podrobně porozumět všem příkazům vim. Zde je příklad toho, co ukazuje příkaz help pro náš příkaz delete.

:help d

Závěr

Tohle bude jen začátek vaší cesty ve vim-landu. Existuje spousta příkazů a funkcí, které prozkoumáte, když se budete učit VIm.

Ale je tu jedna věc, kterou si můžete být jisti. Pokud se jednou naučíte VIM dostatečně dobře, stane se pro vás samozřejmostí očekávat tyto funkce, když začnete používat jakýkoli jiný editor!

Odkazy

  • ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf – 572stránková kompletní příručka od VIm, která popisuje vše, co VIM nabízí.


Linux
  1. 10 základních linuxových příkazů, které potřebujete znát

  2. 7 síťových příkazů Linuxu, které by měl znát každý správce systému

  3. Top 5 zajímavých a zábavných příkazů na Linuxu (zábavný terminál)

  1. 16 příkazů Tar pro kompresi a extrahování souborů v Linuxu

  2. Vim pluginy, které můžete použít ke zvýšení vaší produktivity!

  3. Nejlepší základní Linuxové příkazy pro začátečníky

  1. 3 základní linuxové cheaty pro produktivitu

  2. Příkaz Rm v Linuxu

  3. Příkazy hledání pro Linux