GNU/Linux >> Znalost Linux >  >> Linux

Pět nejlepších pluginů Vim pro systémové správce

Minulý rok jsem napsal článek 5 užitečných Vim pluginů pro vývojáře pro Opensource.com. Tento článek sleduje podobnou myšlenku, ale zaměřuje se na pluginy, díky nimž jsou správci systému produktivnější, bez ohledu na to, jaký skriptovací jazyk, programovací jazyk nebo frameworky používají. Existuje další třída zásuvných modulů Vim zaměřená na dokončování kódu a kontrolu syntaxe, které tento článek záměrně nepokrývá. Budou tématem pro další příspěvek.

Tento článek také neposkytuje pokyny k instalaci těchto pluginů. Můžete použít nativního správce balíčků Vim 8 nebo svého oblíbeného správce pluginů. Pokud chcete jednoduchého správce pluginů pro Vim, podívejte se na Pathogen. Poskytuje standardní způsob instalace pluginů klonováním jejich úložišť přímo pod .vim/bundle adresář s automatickým generováním nápovědy.

1. Letecká společnost Vim

Vim Airline je plugin, který nahrazuje standardní stavový řádek Vim efektním a užitečným stavovým řádkem. Vim Airline je pohodlný a poskytuje užitečné informace o souboru, na kterém pracujete, včetně názvu souboru a stavu uložení, režimu Vim, typu souboru, kódování, pozice, počtu slov a dalších.

Vim Airline je rychlý a lehký. Zobrazuje relevantní informace, aniž by byl ohrožen výkon Vim. Používání Vim Airline zvyšuje vaši produktivitu tím, že poskytuje informace, jejichž získání na první pohled by vyžadovalo více času.

Po instalaci umožňuje Vim Airline základní konfiguraci, která nevyžaduje žádné změny konfiguračních souborů Vim. Zde je standardní stavový řádek s leteckou společností:

Nativně se integruje s dalšími pluginy a poskytuje další informace. Například, pokud máte Vim Gitgutter (viz #4 Vim Gitgutter níže) nebo Vim Fugitive (viz #5 Vim Fugitive níže), Airline také zobrazí informace související s Git, jako je název pobočky a stav rozdílu.

Chcete-li používat speciální ikony, jako je ikona větve Git, nainstalujte balíček Powerline fonts a povolte jej pomocí Vim Airline. Poté přidejte tento řádek do souboru .vimrc konfigurační soubor:

let g:airline_powerline_fonts=1 

Kromě stavového řádku Vim Airline volitelně zobrazuje v horní části řádek karet obsahující názvy všech otevřených karet nebo vyrovnávacích pamětí:

Chcete-li tuto funkci povolit, přidejte tento řádek do .vimrc :

let g:airline#extensions#tabline#enabled = 1 

Konečně, Vim Airline poskytuje motivy, které poskytují další flexibilitu funkcím a vzhledu stavového řádku. Další informace najdete v repozitáři vim-airline-theme.

Další informace o tomto pluginu a dalších možnostech, které mohou být užitečné pro váš případ použití, naleznete v oficiálním úložišti.

2. NERDTree

NERDTree je průzkumník souborového systému pro Vim, který vám umožňuje procházet strukturu adresářů a pomáhá vám najít a spravovat soubory a adresáře přímo v rozhraní Vim. NERDTree je náhrada za nativní průzkumník souborů Vim netrw. NERDTree obsahuje další funkce a rozumné výchozí hodnoty, takže je snazší začít bez přidávání jakékoli konfigurace do vašeho .vimrc soubor.

Po instalaci můžete NERDTree používat zadáním příkazu :NERDTree . Otevře se jako postranní okno s vybraným aktuálním adresářem. Chcete-li jej zavřít, můžete zadat příkaz :NERDTreeClose . Můžete také použít :NERDTreeToggle pro přepínání mezi otevřenými a zavřenými okny. Tento příkaz můžete dokonce namapovat na jinou klávesu, abyste si usnadnili otevírání a zavírání NERDTree. Chcete-li například použít funkční klávesu F5 pro ovládání NERDTree přidejte toto mapování do svého konfiguračního souboru:

map <F5> :NERDTreeToggle<CR> 

Nyní stiskněte F5 pro otevření NERDTree:

S otevřeným NERDTree můžete procházet adresářovou strukturou pomocí navigačních kláves Vim j a k . Stiskněte Enter na adresář, chcete-li jej rozbalit nebo sbalit. Ve výchozím nastavení NERDTree zobrazuje adresáře ve stromovém formátu. Stiskněte Enter na běžný soubor a otevřete jej pomocí původního okna. Můžete také stisknout i otevřete soubor pomocí vodorovného rozdělení nebo s pro vertikální rozdělení. Stiskněte ? zobrazíte nápovědu s úplným seznamem příkazů.

Další užitečnou funkcí je stisknutí m abyste viděli menu. Poté můžete pomocí NERDTree provádět operace souborového systému, jako je vytváření, přejmenování, kopírování a přesouvání souborů a adresářů:

NERDTree Menu. Use j/k/enter, or the shortcuts indicated
=========================================================
> (a)dd a childnode
  (m)ove the current node
  (d)elete the current node
  (r)eveal the current node in file manager
  (o)pen the current node with system editor
  (c)opy the current node
  print (p)ath to screen
  (l)ist the current node 

NERDTree zlepšuje vaši produktivitu tím, že vám umožňuje vyhledávat a spravovat soubory ve Vimu bez nutnosti přístupu k příkazovému řádku nebo jiné aplikaci průzkumníka souborového systému.

[ Také by se vám mohlo líbit Základy Linuxu:Průvodce pro začátečníky k úpravám textu pomocí vim ]

3. Fzf Vim

NERDTree je skvělý plugin, který vám pomůže procházet adresářovou strukturou a najít soubory pro práci ve Vimu. Není to však užitečné, pokud máte velkou adresářovou strukturu nebo pokud hledáte soubor, aniž byste přesně věděli, kde se nachází. V takových případech se hodí fuzzy vyhledávač.

fzf.vim je zásuvný modul, který obaluje program fuzzy finder příkazového řádku fzf a umožňuje vám jej používat přímo ve Vimu. Fzf je rychlá a přenosná aplikace fuzzy finder napsaná v Go. Je to požadavek pro plugin Vim, takže se ujistěte, že jste jej nejprve nainstalovali.

Kromě Fzf můžete nainstalovat program bat, který umožní zvýraznění syntaxe v okně náhledu zobrazeném Fzf.

Ve výchozím nastavení otevře fzf.vim vyhledávací okno ve spodní části obrazovky. Chcete-li to změnit a přesunout okno doprostřed, čímž zvětšíte velikost okna náhledu, přidejte tyto dva řádky do souboru .vimrc konfigurační soubor:

let g:fzf_preview_window = 'right:50%'
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6  }  } 

Nyní spusťte fuzzy vyhledávání se všemi soubory v aktuálním adresáři zadáním příkazu :Files . fzf.vim otevře okno se seznamem všech dostupných souborů:

Chcete-li filtrovat dostupné možnosti, začněte psát libovolné znaky z libovolné části názvu souboru, přípony nebo adresáře. Fzf automaticky filtruje výsledky za vás. Pokud si například pamatujete, že požadovaný soubor je soubor „YAML“, začněte psát y pak m a uvidíte, jak se výsledky změní:

Všimněte si, že nevyžaduje, aby znaky byly pohromadě nebo ve stejném pořadí, jaké jste zadali. To je cíl s fuzzy hledáním. Až budete s filtrem spokojeni, můžete pomocí kláves se šipkami vybrat a zobrazit náhled zbývajících položek a stisknout Enter otevřete požadovaný. Můžete také použít Ctrl+T , Ctrl+X nebo Ctrl+V otevřete soubor na nové kartě, rozdělení nebo svislém rozdělení.

Skvělou pomocí je použití fzf.vim k vyhledávání souborů. Fzf.vim však umí mnohem více než jen vyhledávat soubory. Obaluje fzf s dalšími funkcemi Vimu nebo jinými externími příkazy, což vám umožní hledat více než jen soubory v aktuální adresářové struktuře.

Použijte například příkaz :Buffers pro vyhledání seznamu aktuálně otevřených vyrovnávacích pamětí. Pomocí :GFiles, fzf.vim vám umožňuje prohledávat všechny soubory spravované aktuálním úložištěm Git. Příkaz :Lines umožňuje spustit fuzzy vyhledávání ve všech řádcích z každého načteného bufferu. Stiskněte Enter přenese vás na konkrétní řádek ve správné vyrovnávací paměti:

fzf.vim vám dokonce umožňuje vyhledávat klávesové zkratky Vim pomocí příkazu :Maps . Pokud jste zapomněli, na kterou klávesovou zkratku jste namapovali konkrétní příkaz, spusťte fzf.vim, napište několik písmen příkazu a zobrazí se vám namapovaná klávesová zkratka. Stiskněte Enter na záznamu provede příkaz. Chcete-li například zjistit, který klíč jsme namapovali pro Vim NERDTree ve Vim NERDTree (viz #2 NERDTree výše):

Fzf je rychlý a integrace pluginu fzf.vim s Vim z něj dělá vynikající nástroj, který pomáhá s hledáním souborů a dalších položek. Tento plugin má mnoho dalších funkcí. Nezapomeňte si přečíst nápovědu zadáním příkazu :h fzf pro úplný seznam.

4. Vim Gitgutter

Plugin Vim Gitgutter je užitečný pro ty, kteří používají Git jako systém pro správu verzí. Zobrazuje výstup Git diff jako symboly v „žlábku“ – sloupci se znaménkem, kde Vim představuje další informace, jako jsou čísla řádků. Považujte například tento soubor úlohy Ansible za aktuální potvrzenou verzi v Git:

  1 ---
  2 # tasks file for mywebapp
  3 
  4 - name: Include OS-specific variables.
  5   include_vars: "{{ ansible_os_family }}.yaml"
  6  
  7 - name: Install http package
  8   yum:
  9     name: "{{ httpd_package }}"
 10 
 11 - name: Ensure httpd svc started
 12   service:
 13     name: "{{ httpd_service }}"
 14     state: started
 15     enabled: yes 

Po provedení některých změn zobrazí Vim Gitgutter v okapu následující symboly:

    1 ---
    2 # tasks file for mywebapp
    3 
    4 - name: Include OS-specific variables.
    5   include_vars: "{{ ansible_os_family }}.yaml"
    6 
~   7 - name: Ensure httpd package installed
    8   yum:
    9     name: "{{ httpd_package }}"
+  10     state: present
   11 
   12 - name: Ensure httpd svc started
   13   service:
   14     name: "{{ httpd_service }}"
_  15     state: started 

- symbol ukazuje, že řádek byl smazán po řádku 15. ~ znak ukazuje, že řádek sedm byl změněn, a + znak označuje, že byl přidán řádek deset.

Kromě toho vám Vim Gitgutter umožňuje navigaci mezi „kusy“ – jednotlivými změnami provedenými v souboru – pomocí [c a ]c , nebo dokonce připravit jednotlivé kusy pro odevzdání stisknutím Leader+hs .

Vim Gitgutter se také automaticky integruje s Vim-Airline a poskytuje souhrn změn ve stavovém řádku:

Vim-Airline tuto konfiguraci ve výchozím nastavení povoluje a do souboru .vimrc nemusíte nic přidávat aby to fungovalo.

Vim Gitgutter poskytuje okamžitou vizuální zpětnou vazbu pro změny a je skvělým doplňkem vaší sady nástrojů, pokud používáte Git.

5. Vim Fugitive

Vim Fugitive je další skvělý plugin pro ty, kteří se snaží začlenit Git do pracovního postupu Vimu. Tento plugin je obal Git, který vám umožňuje spouštět příkazy Git přímo z rozhraní Vimu. Tento plugin má mnoho funkcí, takže se nezapomeňte podívat na stránku Github, kde najdete další informace.

Zde je základní příklad pracovního postupu Git pomocí Vim Fugitive. Zvažte soubor úloh Ansible, který jsme použili jako příklad ve Vim Gitgutter (viz #4 Vim Gitgutter výše). Můžete použít git blame ve Vimu zadáním příkazu :Gblame :

7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    1 ---
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    2 # tasks file for mywebapp
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    3
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    4 - name: Include OS-specific variables.
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    5   include_vars: "{{ ansible_os_family }}.yaml"
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    6
00000000 (Not Committed Yet 2020-09-29 17:40:03 -0400)|~   7 - name: Ensure httpd package installed
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    8   yum:
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|    9     name: "{{ httpd_package }}"
00000000 (Not Committed Yet 2020-09-29 17:40:03 -0400)|+  10     state: present
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|   11
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|   12 - name: Ensure httpd svc started
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|   13   service:
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|   14     name: "{{ httpd_service }}"
7d960351 (Ricardo Gerardi   2020-09-29 14:09:59 -0400)|_  15     state: started 

Můžete vidět, kdo spáchal všechny řádky, kromě řádků sedm a deset, které ještě nebyly potvrzeny. Nyní zkontrolujte stav úložiště zadáním :Gstatus :

  1 Head: master   2 Push: origin/master   3    4 Unstaged (1)   5 M main.yaml ~ ___________________________________________________________________________________________ ~   7 - name: Ensure httpd package installed     8   yum:     9     name: "{{ httpd_package }}" +  10     state: present    11     12 - name: Ensure httpd svc started    13   service:    14     name: "{{ httpd_service }}" _  15     state: started

Vim Fugitive otevře rozdělené okno s výsledkem git status . Soubor můžete připravit pro odevzdání stisknutím - klíč na řádku s názvem souboru. Stav můžete resetovat stisknutím - znovu. Zpráva se aktualizuje, aby odrážela nový stav:

  1 Head: master
  2 Push: origin/master
  3 
  4 Staged (1)
  5 M main.yaml 

Všimněte si, že stav na čtvrtém řádku se změnil z Neprovedeno na Postup . Nyní můžete použít příkaz :Gcommit provést změny. Vim Fugitive otevírá další rozdělení, které vám umožňuje zadat zprávu o odevzdání:

  1 Update Ansible tasks file
  2 # Please enter the commit message for your changes. Lines starting
  3 # with '#' will be ignored, and an empty message aborts the commit.
  4 #
  5 # On branch master
  6 # Changes to be committed:
  7 #       modified:   main.yaml
  8 # 

Uložte soubor pomocí :wq k dokončení odevzdání. Fugitive zobrazí potvrzovací zprávu s novým hashem odevzdání:

[master f7908cf] Update Ansible tasks file
 1 file changed, 2 insertions(+), 2 deletions(-)
Press ENTER or type command to continue 

Můžete použít :Gstatus znovu, abyste viděli výsledek a :Gpush pro aktualizaci vzdáleného úložiště novým potvrzením:

  1 Head: master
  2 Push: origin/master
  3
  4 Unpushed to origin/master (1)
  5 f7908cf Update Ansible tasks file 

Pokud se vám Vim Fugitive líbí a chcete se dozvědět více, oficiální úložiště obsahuje odkazy na screencasty zobrazující další funkce a pracovní postupy.

Bonus:Vim Floaterm

Vim Floaterm je plugin, který vám umožňuje používat funkci terminálu Vim 8 jako vyskakovací okno.

Někdy musíte zadat příkazy do terminálu, abyste dokončili své úkoly. Před Vim 8 poskytoval :terminal řešením bylo přepnutí na jinou obrazovku nebo ukončení Vimu pro použití příkazového řádku. S vestavěným terminálem Vim můžete otevřít okno terminálu přímo z Vimu. Toto okno však zabírá část vaší editační oblasti nebo je příliš malé a musíte jej neustále měnit.

Vim Floaterm tyto problémy řeší vytvořením terminálu jako plovoucího okna, které můžete zobrazit nebo skrýt, kdykoli jej potřebujete použít. Použijte příkaz :FloatermNew pro vytvoření nového plovoucího terminálu a :FloatermHide skrýt to. Můžete také použít :FloatermToggle pro přepínání mezi stavy. Plovoucí terminál vypadá takto:

Chcete-li usnadnit zobrazení a skrytí plovoucího terminálu, můžete příkaz namapovat na jiný klíč. Chcete-li například použít funkční klávesu F12 pro ovládání Floaterm přidejte tuto konfiguraci do .vimrc soubor:

let g:floaterm_keymap_toggle = '<F12>' 

Velikost plovoucího terminálu můžete také zvětšit zadáním šířky a výšky v procentech velikosti obrazovky Vim pomocí těchto dvou konfiguračních řádků:

let g:floaterm_width = 0.9
let g:floaterm_height = 0.9 

Tato konfigurace vytváří plovoucí terminál, který zabírá 90 % velikosti obrazovky Vimu. Floaterm poskytuje mnoho dalších funkcí a integraci s dalšími pluginy a nástroji příkazového řádku. Nahlédněte do nápovědy s :h floaterm-contents nebo oficiální úložiště pro více informací.

[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ] 

Co bude dál?

V tomto článku jsme zkontrolovali pět pluginů – plus bonus – které pomáhají správcům systému zlepšit jejich pracovní postupy a zvýšit produktivitu při používání Vimu.

Vim je skvělý editor, který poskytuje řadu funkcí hned po vybalení. Používání zásuvných modulů přidává nové funkce, které usnadňují přizpůsobení Vim konkrétním pracovním postupům.

Pluginy v tomto článku se zaměřují na obecné funkce, jako je lokalizace souborů, poskytování informací a práce se soubory s řízenou verzí v Gitu. Existují další třídy zásuvných modulů pro správu různých aspektů konfigurace Vim. V příštím článku si povíme o dokončování kódu a kontrole syntaxe.

Zvláštní poděkování patří mému kolegovi Davidu Wardovi za to, že mi představil pluginy fzf.vim a Vim Floaterm.


Linux
  1. Nejlepší linuxové nástroje pro spisovatele

  2. Demystifikování Ansible pro systémové správce Linuxu

  3. Top 10 tutoriálů pro správce Linuxu

  1. 10 průvodců kontejnerů pro systémové správce

  2. 3 solidní tipy na sebehodnocení pro systémové správce

  3. Platná alternativa k vrcholu pro Openbsd?

  1. Nejlepší jednořádkové příkazy Linuxu, přizpůsobení bitových kopií virtuálních počítačů a další tipy pro systémové správce

  2. Top 15 článků, za které jsou správci systému vděční

  3. 80 Linux Monitorovací nástroje pro SysAdmins