Vim

vim

Vim v režimu „konzole“.
Typ Textový editor
Vývojář Bram Molenar a další
Zapsáno v C a Vim skript [1]
Operační systém Amiga , Linux , Mac OS X , Windows , OpenVMS , OS/2 , Unix
Jazyky rozhraní Angličtina, Španělština, Italština, Čínština, Němčina, Perština, Polština, Ruština, Francouzština, Japonština [2]
První vydání 2. listopadu 1991 [3]
Nejnovější verze
Licence Licence Vim kompatibilní s GPL , charitativní software
webová stránka vim.org
 Mediální soubory na Wikimedia Commons

Vim (zkratka pro Vi Im could , vyslovováno "vim") je bezplatný textový editor založený na starším vi . Nyní je to výkonný textový editor s úplnou svobodou přizpůsobení a automatizace, kterou umožňují rozšíření a doplňky.

Uživatelské rozhraní Vimu může běžet v čistě textovém (konzolovém) režimu .

K dispozici je také úprava pro použití v rozhraní grafického okna - GVim. Mnoho uživatelských příkazů v GVim lze vyvolat prostřednictvím příslušných položek nabídky.

Hlavní rozdíl oproti "klasickým" textovým editorům

Jednou z hlavních funkcí editoru je použití dvou hlavních, ručně přepínatelných, vstupních režimů: příkazový (po spuštění je editor v něm) a textový ( anglický  režim vkládání , režim přímé úpravy textu, podobný většině „normálních“ redakce). Existují i ​​další režimy.

Vim není intuitivní (kromě „textového“ režimu), takže efektivní práce s editorem vyžaduje předchozí učení.

Funkčnost

Recenze: Doporučená vylepšení vi

Ve srovnání s klasickým vi má Vim následující vylepšení:

Systém nápovědy Vim

Vim má velmi pohodlný a podrobný systém nápovědy a systém pro navigaci a navigaci mezi jeho sekcemi. Chcete-li otevřít kteroukoli z jeho částí, stačí použít příkaz :help v příkazovém režimu.

Terminologie

Provozní režimy

Normální režim

Takových týmů je samozřejmě mnohem víc. Jde o to, že se tyto příkazy musíte naučit, abyste je mohli používat. Můžete namítnout, že se pravděpodobně nemůžete naučit všechny tyto příkazy, protože existují stovky různých pohybových příkazů, některé jednoduché a některé docela chytré, a že naučit se všechny tyto příkazy by zabralo týdny praxe. No, nemusíte se je všechny učit. Místo toho musíte pochopit svůj individuální styl úprav a naučit se pouze ty příkazy, které vám pomohou zefektivnit práci [5] .

Bram Moolenaar

Ve výchozím nastavení se Vim spouští v normálním režimu, také nazývaném příkazový režim. Stisky kláves v tomto režimu jsou vnímány jako příkazy (kopírování, mazání, přesouvání textu atd.).

Mezi příkazy normálního režimu jsou příkazy "jednoznakové". Takže například stisknutí $přesune kurzor na konec řádku; stisknutím tlačítka 0(nula) - na začátek; D(velkými písmeny) - pro smazání ( d elete) část aktuálního řádku od aktuální pozice kurzoru do konce; С(velkými písmeny) - pro nahrazení ( změna) části aktuálního řádku od aktuální pozice kurzoru na konec atd .

Ostatní příkazy pro svou práci budou čekat na další pokračování zadávání. Například fje zodpovědný za rychlý přesun v řádku na další znak napsaný po sobě. Proto po stisknutí fVim počká na napsání tohoto znaku, aby jej mohl použít jako vyhledávací.

Po stisknutí y( y ank), da cdalších podobných „ovládacích“ kláves bude Vim čekat na další zadání příkazů, které určují objekt, na kterém bude akce provedena (kopírovat, smazat nebo nahradit). Vymaže tedy aktuální slovo pod kurzorem ( smaže okolní dawslovo ) a všechny znaky od  aktuální pozice kurzoru až po konec řádku. d$

Takovéto velmi jednoduché příkazy se používají nejen v „ručním režimu“ (kdy se v případě potřeby zadávají pokaždé z klávesnice), ale také při nastavování složitých sekvencí akcí .

Normální režim je centrální režim , ze kterého se provádí přechod na všechny ostatní. Z libovolného režimu můžete přepnout do příkazového režimu dvojitým stisknutím klávesy Esc(ve většině případů stačí jedno stisknutí).

Režim vkládání

Režim vkládání ( anglicky  insert mode ), ve kterém se zadává text.

Chcete-li přepnout z příkazového režimu do režimu vkládání, můžete stisknout i(pro zahájení vkládání textu na kurzor) nebo a(pro zahájení vkládání textu za kurzor). Existuje také řada dalších kláves a jejich kombinací pro přepnutí do režimu přímé úpravy textu (například prostřednictvím některého z příkazů nahrazování textových objektů).

V tomto režimu funguje Vim stejně jako většina „běžných“ textových editorů. Ve výchozím nastavení nejsou zadané znaky považovány za příkazy, ale jsou vloženy do existujícího textu. I v tomto režimu však můžete nastavit speciální akce editoru, které se provádějí při stisku určitých kláves nebo jejich kombinací. Jako příklad můžete určit, že při psaní otevírací (závorky se okamžitě přidá odpovídající uzavírací závorka a kurzor se umístí mezi ně.

CtrlKlávesové zkratky ( + Ratd.) lze také použít pro vkládání, mazání, změny a automatické dokončování textu .

Při psaní zkratkového slova je toto slovo automaticky nahrazeno předdefinovaným textem.

Režim příkazového řádku

Tento režim se vyvolá stisknutím :z normálního režimu. Za dvojtečkou následuje složitý příkaz (například vyhledat nebo nahradit), který se po zadání předá k provedení stisknutím ↵ Enter. Po provedení příkazu se editor vrátí do normálního režimu. Tento režim také obsahuje příkazy pro další hledání v textu /, zpětné hledání v textu ( ?) a příkaz filtru !pro předávání dat externímu filtru.

Vizuální režim

Vizuální režim ve Vi chyběl a poprvé se objevil ve Vimu. Je to trochu podobné příkazu. Pomocí speciálních ovládacích příkazů v kombinaci se šipkami a navigačními příkazy můžete vybrat fragmenty textu znak po znaku, řádek po řádku nebo jako blok a poté na ně použít příkazy normálního režimu (například smazat vybraný text nebo jej nahradit). Úpravy v tomto režimu jsou snazší než v normálním režimu, protože jasně vidíte, na který blok textu se vyvolaný editační příkaz vztahuje.

Automatizace operací

Schopnost Vimu rozlišovat mezi textovými objekty (slova, věty, odstavce, řádky, jednotlivé znaky atd.) umožňuje nastavit sekvenci akcí pro automatizaci určitých operací.

Ano, po příkazu

nmap < F7 > byei << ESC > ea >< / < C - R > 0 >< ESC >

stisknutí F7převede (v příkazovém režimu) jakékoli slovo pod kurzorem (bez ohledu na jeho délku a znaky, ze kterých se skládá) na xml tag . Pokud je například aktuální slovo pod kurzorem div , bude převedeno na <div></div> , pokud je transformace  pak na <transform></transform> atd.

Vim je schopen mnohem složitějších transformací, můžete si také nastavit vlastní funkce pro transformaci dat a automatizaci rutinních operací.

Všechny akce, které jsou ve Vimu proveditelné „ručně“ (tedy přímo člověkem u klávesnice), lze automatizovat (včetně přepínání mezi různými režimy).

Historie verzí

Historie verzí
datum Verze Změny
1988 1,0 Založeno na Stevie pro Amigu , s názvem Vi imitace , nikdy oficiálně nevydáno.
2. listopadu 1991 1,14 [6] První veřejné vydání pro Amigu
1992 1,22 [6] Portováno na Unix . Nyní Vim soutěží s vi . Od té chvíle se Vim stal Vi IMproved
12. srpna 1994 3.0 [6] Podpora pro rozdělená okna
29. května 1996 4.0 [6] Grafické uživatelské prostředí
19. února 1998 5.0 [6] Zvýraznění syntaxe , jednoduchý skriptovací jazyk (uživatelem definované funkce, příkazy atd.)
6. dubna 1998 5.1 Opravy chyb a další změny.
27. dubna 1998 5.2 Podpora pro dlouhé řádky, vestavěný prohlížeč souborů, dialogy, vyskakovací nabídky, režim výběru, soubory relací, uživatelsky definované funkce, příkazy, rozhraní tcl a další změny.
31. srpna 1998 5.3 Opravy chyb a další změny.
25. července 1999 5.4 Jednoduché šifrování souborů, různá vylepšení
19. září 1999 5.5 Opravy chyb, různá vylepšení
16. ledna 2000 5.6 Nové soubory syntaxe, opravy chyb a další změny
24. června 2000 5.7 Stejný
31. května 2001 5.8 Stejný
26. září 2001 6.0 [6] Skládání , pluginy, vícejazyčnost a další změny
24. března 2002 6.1 Oprava chyb
1. června 2003 6.2 GTK2 , podpora arabštiny , příkaz: try, drobné funkce, opravy chyb
7. června 2004 6.3 Opravy chyb, aktualizace překladů, vylepšení značek
15. října 2005 6.4 Opravy chyb, aktualizace podporují Perl , Python a Ruby
7. května 2006 7,0 Kontrola pravopisu , automatické doplňování , tabulátory ("tabulátory"), zvýraznění aktuálního řádku a sloupce, vrácení větví a další změny
12. května 2007 7.1 Opravy chyb, nové spustitelné soubory a soubory syntaxe a další změny
9. srpna 2008 7.2 Opravy chyb, nové spustitelné soubory a soubory syntaxe, vylepšení zabezpečení a další změny
15. srpna 2010 7.3 Opravy chyb, nové spustitelné soubory a soubory syntaxe, vylepšení zabezpečení, „trvalé“ vrácení zpět, konec podpory pro Mac OS 9 a GTK1 , podpora Lua a další změny
10. srpna 2013 7.4 Nový, rychlejší engine regulárních výrazů a další změny
12. září 2016 8,0 Asynchronní I/O, lambda výrazy , uzávěry , podpora GTK+ 3 a Microsoft DirectX a další změny.
18. května 2018 8.1 Podpora pro otevření terminálu v okně Vim [7] .
14. prosince 2019 8.2 Vyskakovací okna
28. června 2022 9,0 [8] Skript Vim9

Přenositelnost

Jednou z výhod editoru Vim je jeho dostupnost pro mnoho operačních systémů . To platí zejména pro systémové administrátory , kteří musí upravovat soubory napříč platformami.

Vim běží na následujících operačních systémech:

Vim Touch

Pro operační systém Android , který jako primární vstupní zařízení používá dotykovou obrazovku , napsal David Tao upravenou verzi vim, vim touch, v současnosti distribuovanou pod licencí Apache [9] [10] [11] [12] . Existuje také varianta DroidVim.

Ocenění

Od roku 2001 do roku 2004 Vim byl vítězem cen LinuxJournal 's Readers' Choice Awards za oblíbený textový editor. V roce 1999 také obdržel cenu Linuxworld Editors' Choice Award a v roce 2000 cenu Slashdot Beanie .

Licence

Vim je distribuován pod licencí kompatibilní s GPL známou  jako Charityware .  Část finančních prostředků věnovaných na vývoj Vimu je použita na podporu sirotků v Ugandě prostřednictvím ICCF Holland .

Rozšíření Vim

Celkový počet rozšíření dostupných na oficiálních stránkách je více než 3000 [13] .

Mezi oblíbená rozšíření Vim patří:

  • MiniBufferExplorer ;
  • taglist  - pro zobrazení struktury souborů programu (seznam funkcí atd.);
  • bufexplorer (od Vimu 7.4, většinou zastaralý);
  • closetag  - pro pohodlnější zavírání tagů při editaci html a xml souborů;
  • supertab  - pro automatické doplňování slov stisknutím Tab ↹(současně funguje odsazení řádků jako obvykle);
  • projekt - organizovat soubory do projektů pro snazší navigaci v nich;
  • indexer - pro generování značek pomocí ctagů pro všechny soubory zahrnuté v projektu (projekt lze organizovat jak s pluginem projektu, tak bez něj). Značky jsou potřebné k rychlému přechodu z volání funkce k její deklaraci, k získání seznamu členů struktury nebo třídy atd.

Seznam oblíbených rozšíření Vim podle jejich popularity na GitHubu: http://vimawesome.com

Díky flexibilitě možností poskytovaných prostřednictvím rozšíření lze Vim použít také jako osobní wiki .

Poznámky

  1. Vim | freshmeat.net . Získáno 21. května 2009. Archivováno z originálu 6. června 2009.
  2. Vim v neanglických jazycích . Získáno 4. února 2008. Archivováno z originálu dne 23. srpna 2011.
  3. http://arstechnica.com/information-technology/2011/11/two-decades-of-productivity-vims-20th-anniversary/
  4. Vim 9.0  : vim online - 2022.
  5. Sedm návyků efektivní úpravy textu . Získáno 7. dubna 2010. Archivováno z originálu 2. října 2011.
  6. 1 2 3 4 5 6 Moolenaar, Bram Vim, textový editor s otevřeným zdrojovým kódem ( 2002-01-15 ). Získáno 24. října 2005. Archivováno z originálu 23. srpna 2011.
  7. OpenNews: Vydán textový editor Vim 8.1 . www.opennet.ru Staženo 25. 5. 2018. Archivováno z originálu 25. 5. 2018.
  8. Bram Moolenaar. Vim 9.0 je vydán! . Datum přístupu: 30. června 2022.
  9. Alex Young. Recenze: VimTouch pro Android (nedostupný odkaz) . usevim.com (19. září 2012). Získáno 15. června 2016. Archivováno z originálu 13. června 2016. 
  10. Z tabletu uděláme plnohodnotné pracoviště . "Hacker" (26. listopadu 2013). Získáno 15. června 2016. Archivováno z originálu 9. srpna 2016.
  11. Vitalij Soroko. PHP na Androidu // LinuxFormat . — 2016. — Květen ( č. 05 (209) ). - S. 22 .
  12. Projekt Vim Touch na GitHubu
  13. Vim Scripts  . Získáno 4. ledna 2012. Archivováno z originálu 3. února 2012.

Odkazy