Vim (textový editor) - Vim (text editor) - Wikipedia
![]() | |
![]() Vim běží v emulátor terminálu | |
Původní autoři | Bram Moolenaar |
---|---|
První vydání | 2. listopadu 1991 |
Stabilní uvolnění | 8.2.0000[1] (13. prosince 2019 ) [±] |
Úložiště | ![]() |
Napsáno | C, Vim skript |
Operační systém | Unix, Linux, Windows NT, MS-DOS, Operační Systém Mac, iOS, Android, Haiku, AmigaOS, MorphOS |
Typ | Textový editor |
Licence | Svobodný software (Licence Vim ), charitativní software |
webová stránka | www![]() |
Vim (/protiɪm/;[2] kontrakce Vi IMproved) je klon s dodatky Bill Joy je vi textový editor program pro Unix. Vimův autor, Bram Moolenaar, na základě zdrojový kód pro přístav Stevie editor do Amiga[3] a vydal verzi pro veřejnost v roce 1991. Vim je navržen pro použití jak z rozhraní příkazového řádku a jako samostatná aplikace v a grafické uživatelské prostředí. Vim je bezplatný open source software a je vydáván na základě licence, která některé obsahuje charitativní software doložky povzbuzující uživatele, kteří si užívají software, aby zvážili darování dětem v Uganda.[4] Licence je kompatibilní s GNU General Public License prostřednictvím zvláštní klauzule umožňující distribuci upravených kopií "pod GNU GPL verze 2 nebo jakákoli novější verze ".[5]
Od vydání pro Amigu napříč platformami vývoj zpřístupnil na mnoho dalších systémů. V roce 2006 byl zvolen nejpopulárnějším editorem mezi Linux Journal čtenáři;[6] v roce 2015 Přetečení zásobníku podle průzkumu vývojářů je to třetí nejpopulárnější textový editor,[7] a páté nejoblíbenější vývojové prostředí v roce 2019.[8]
Dějiny
Vimův předchůdce, Stevie (editor ST pro nadšence VI), vytvořil Tim Thompson pro Atari ST v roce 1987[9][10] a dále rozvíjel Tony Andrews[9][11] a G.R. (Fred) Walter.[12][13]
Založil svou práci na Stevie, Bram Moolenaar začal pracovat na Vim pro Amiga počítač v roce 1988, s prvním veřejným vydáním (Vim v1.14) v roce 1991.[14][15][je zapotřebí lepší zdroj ]
V době svého prvního vydání bylo jméno „Vim“ zkratkou pro „Vi IMitation“, ale toto se na konci roku 1993 změnilo na „„ Vi IMproved “.[16]
Historie vydání | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Rozhraní


Jako vi, Vimovo rozhraní není založeno na nabídkách nebo ikonách, ale na příkazech uvedených v a textové uživatelské rozhraní; své GUI režim, gVim, přidává nabídky a panely nástrojů pro běžně používané příkazy, ale plná funkčnost je stále vyjádřena prostřednictvím jeho příkazový řádek režimu. Vi (a rozšířením Vim) má tendenci umožnit písaři držet prsty na domácí řádek, což může být výhodou pro a dotykový písař.[29]
Vim má vestavěný tutorial pro začátečníky zvané vimtutor. Obvykle se instaluje společně s Vim, ale existuje jako samostatný spustitelný soubor a lze jej spustit příkazem prostředí.[30] K dispozici je také Vim Uživatelský manuál to podrobně popisuje Vimovy vlastnosti a FAQ. Tuto příručku si můžete přečíst ve Vimu nebo ji najdete online.[31][32]
Vim má také vestavěný nástroj pomoci (pomocí :Pomoc
Příkaz), který umožňuje uživatelům dotazovat se a procházet příkazy a funkcemi.

Režimy
Vim má 12 různých režimů úprav, z nichž 6 je variantami 6 základních režimů.[33] Základní režimy jsou:
- Normální režim - používá se pro příkazy editoru. Toto je také výchozí režim, pokud
vložte režim
je zadána možnost. - Vizuální režim - podobný běžnému režimu, ale slouží ke zvýraznění oblastí textu. Normální příkazy se spouštějí ve zvýrazněné oblasti, kterou lze například použít k přesunutí nebo úpravám výběru.
- Vybrat režim - funguje podobně jako vizuální režim. Pokud je však zadán tisknutelný znak, návrat vozíku nebo nový řádek (nebo posun řádku), Vim vloží znak a spustí režim vkládání.[34]
- Vložit režim - podobný úpravám ve většině moderních editorů. V režimu vkládání lze vyrovnávací paměti upravit vloženým textem.
- Příkazový řádek nebo Cmdline režim - podporuje jednořádkový vstup ve spodní části okna Vim. Normální příkazy (počínaje
:
) a některá další konkrétní písmena odpovídající různým akcím (včetně vyhledávání vzoru a příkazu filtru) aktivují tento režim. - Př režim - podobně jako v režimu Cmdline trvá jeden řádek v dolní části okna. V režimu Cmdline však zadání příkazu ukončí režim, když je příkaz spuštěn. Zadání příkazu v režimu Ex nezpůsobí změnu režimu.

Přizpůsobení
Vim je vysoce přizpůsobitelný a rozšiřitelný, což z něj činí atraktivní nástroj pro uživatele, kteří požadují velkou kontrolu a flexibilitu nad prostředím pro úpravy textu.[35] Zadávání textu usnadňuje celá řada funkcí určených ke zvýšení efektivity klávesnice. Uživatelé mohou provádět složité příkazy pomocí „mapování klíčů“, které lze přizpůsobit a rozšířit. Funkce "nahrávání" umožňuje vytváření makra automatizovat sekvence stisknutí kláves a volat interní nebo uživatelem definované funkce a mapování. Zkratky, podobné makrům a mapování kláves, usnadňují rozšiřování krátkých řetězců textu na delší a lze je také použít k opravě chyb. Vim také nabízí „snadný“ režim pro uživatele, kteří hledají jednodušší řešení pro úpravy textu.[36]
Je jich mnoho pluginy k dispozici, které rozšiřují nebo přidávají nové funkce do Vim, jako je linters, integrace s Git, zobrazování barev v CSS. Tyto složité skripty jsou obvykle psány interním skriptovacím jazykem Vim, vimscript (také známý jako VimL),[37] ale lze je psát i v jiných jazycích.

Existují projekty, které sdružují složité skripty a přizpůsobení a jsou zaměřeny na to, aby se Vim stal nástrojem pro konkrétní úkol nebo přidal jeho chování hlavní příchuť. Mezi příklady patří Krém, díky čemuž se Vim chová jako editor typu click-and-type, nebo VimOutliner, který poskytuje pohodlí outliner pro uživatele unixových systémů.
Funkce a vylepšení oproti vi
Vim má režim kompatibility vi, ale když se tento režim nepoužívá, má Vim oproti vi mnoho vylepšení.[38] Avšak ani v režimu kompatibility není Vim zcela kompatibilní s vi, jak je definováno v Single Unix Specification[39] a POSIX (např. Vim nepodporuje otevřený režim vi, pouze vizuální režim). Vývojáři společnosti Vim prohlašují, že je „velmi kompatibilní s Vi“.[40]

Mezi některá vylepšení Vim patří dokončení, srovnání a slučování souborů (známý jako vimdiff), komplexní integrovaný systém nápovědy, rozšířený regulární výrazy, skriptovací jazyky (nativní i prostřednictvím alternativních skriptovacích tlumočníků, jako je Perl, Python, Ruby, Tcl atd.), včetně podpory pro pluginy, a grafické uživatelské prostředí (známé jako gvim), omezené integrované vývojové prostředí -jako funkce, myš interakce (s grafickým uživatelským rozhraním i bez něj), skládací, editace komprimovaných nebo archivovaných souborů ve Windows gzip, bzip2, zip, a dehet formát a soubory přes síťové protokoly, jako je SSH, FTP, a HTTP, uchování stavu relace, kontrola pravopisu, rozdělená (horizontální a vertikální) a záložková okna, Unicode a další vícejazyčná podpora, zvýraznění syntaxe, příkaz trans-relace, hledání a umístění kurzoru historie, víceúrovňové a větvicí Zpět Opakovat historie, která může přetrvávat během relací úprav, a vizuální režim.
Během běhu Vim ukládá změny uživatele do odkládacího souboru pomocí souboru „.swp“ rozšíření. Odkládací soubor lze použít k obnovení po havárii. Pokud se uživatel pokusí otevřít soubor a swapový soubor již existuje, Vim uživatele upozorní a pokud uživatel bude pokračovat, použije Vim swapový soubor s příponou „.swo“ (nebo pokud již existuje více než jeden vyměnit soubor, „.swn“, „.swm“ atd.).[41][42] Tuto funkci lze deaktivovat.[43]

Vim skript
Vim skript (také zvaný vimscript nebo VimL)[44] je skriptovací jazyk zabudovaný do Vim.[45] Založeno na např editorský jazyk originálu vi editor, dřívější verze Vim přidaly příkazy pro definici toku řízení a funkcí. Od verze 7 skript Vim podporuje také pokročilejší datové typy, jako je seznamy a slovníky a (jednoduchá forma) objektově orientované programování. Integrované funkce jako např mapa()
a filtr()
povolit základní formu Funkcionální programování a Vim skript má lambda od verze 8.0. Vim skript je většinou psán v imperativní styl programování.
Vim makra může obsahovat posloupnost normální mód příkazy, ale může také vyvolat ex příkazy nebo funkce napsané ve skriptu Vim pro složitější úkoly. Téměř všechna rozšíření (nazývané pluginy nebo běžnější skripty) základní funkce Vim jsou napsána ve Vim skriptu, ale pluginy mohou využívat i jiné jazyky jako Perl[46], Krajta[47], Lua[48], Rubín[49], Tcl[50]nebo Raketa.[51] Tyto doplňky lze nainstalovat ručně nebo prostřednictvím správce doplňků, jako jsou Vundle, Pathogen nebo Vim-Plug.
Soubory skriptu Vim jsou uloženy jako prostý text, podobně jako u jiného kódu, a přípona názvu souboru je obvykle .vim
. Jednou z významných výjimek je Vimův konfigurační soubor, .vimrc
.
Příklady
„Toto je program Hello World ve skriptu Vim.echo "Ahoj světe!""Toto je jednoduchá while smyčka ve Vim skriptu.nechat i = 1zatímco i < 5 echo „count is“ i nechat i += 1nekonečněodpojit i
Dostupnost
Zatímco vi byl původně k dispozici pouze na Unix operačních systémů, Vim byl přeneseno na mnoho operačních systémů včetně AmigaOS (počáteční cílová platforma), Atari Máta, BeOS, DOS, Okna začínající od Windows NT 3.1, OS / 2, OS / 390, MorphOS, OpenVMS, QNX, RISC OS, Linux, BSD, a Klasický Mac OS.[52] Vim je také dodáván s každou kopií Jablko Operační Systém Mac.[53]
Nezávislé porty Vim jsou k dispozici pro Android[54][55] a iOS.[56]
Neovim
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Říjen 2020) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |



Neovim[57] je vidlice - s doplňky[58] - of Vim, který se snaží zlepšit rozšiřitelnost a udržovatelnost Vim.[59] Neovim sdílí stejnou syntaxi konfigurace s Vim; ve výsledku to samé konfigurační soubor lze použít s oběma editory, i když existují malé rozdíly mezi přesnými možnostmi použitými mezi těmito dvěma.[60] Pokud nejsou přidané funkce Neovim použity, je Neovim kompatibilní s téměř všemi funkcemi Vim.[61]
Projekt Neovim byl zahájen v roce 2014, kdy někteří členové komunity Vim nabídli včasnou podporu snah o refaktorování na vysoké úrovni, aby poskytli lepší skriptování, pluginy a integraci s moderními GUI .[62][63] Projekt je svobodný software a jeho zdrojový kód je k dispozici na GitHub.[64]
Neovim měl úspěšnou sbírku 23. března 2014,[65] podpora alespoň jednoho vývojáře na plný úvazek. Několik frontendů je ve vývoji a využívá možnosti společnosti Neovim.[66][67][68]
Editor Neovim je k dispozici v PPA Ubuntu,[69] a několik dalších správců balíků,[70] což umožňuje instalaci na různé operační systémy.
Viz také
- Učení editorů vi a Vim, výuková kniha pro vi a vim, vydané O'Reilly Media.
- Válka editorů - soupeření mezi uživateli textových editorů Emacs a vi (Vim)
- Seznam textových editorů
- Porovnání textových editorů
- Vimperator
- Pentadactyl
Reference
- ^ „Zprávy“. Citováno 13. prosince 2019 - přes GitHub.
- ^ Vim dokumentace: úvod: "Vim se vyslovuje jako jedno slovo, jako Jim, ne jako vi-ai-em. Je psáno velkým písmenem, protože je to jméno, opět jako Jim."
- ^ Zapletal, Lukáš (18. dubna 2005), „Interview: Bram Moolenaar“, LinuxEXPRES: 21–22, vyvoláno 5. února 2015,
Je VIM derivát jiného VI klonu nebo jste začínali od nuly? Začal jsem se Stevie. Jednalo se o klon Vi pro počítač Atari ST, portovaný na Amigu. Mělo to docela dost problémů a nemohlo jsem dělat všechno, co Vi dokázalo, ale protože byl k dispozici zdrojový kód, mohl jsem to opravit sám. (anglický překlad )
- ^ "Vim dokumentace: uganda". vimhelp.org.
- ^ "Vim dokumentace: uganda".
- ^ „Linux Journal: 2003 Readers 'Choice Awards“. 1. listopadu 2003. Citováno 24. května 2006.; „Linux Journal: 2004 Readers 'Choice Awards“. 1. listopadu 2004. Citováno 24. května 2006.; „Linux Journal: 2005 Readers 'Choice Awards“. 28. září 2005. Citováno 24. května 2006.
- ^ „Průzkum vývojářů přetečení zásobníku 2015 § IV. Textový editor“. Přetečení zásobníku. Citováno 25. července 2016.
- ^ „Výsledky průzkumu přetečení zásobníku vývojářů na rok 2019“. Přetečení zásobníku § VII. Vývojová prostředí. Citováno 20. července 2019.
- ^ A b C d Thompson, Tim (26. března 2000). "Stevie". Citováno 27. prosince 2010.
- ^ A b Tim Thompson (28. června 1987). „Mini-vi pro ST“. Diskusní skupina: comp.sys.atari.st. Usenet: [email protected]. Citováno 27. prosince 2010.
- ^ A b Tony Andrews (6. června 1988). „v15i037: Stevie,„ aspirující “klon VI pro Unix, OS / 2, Amiga“. Diskusní skupina: comp.sources.unix. Usenet: [email protected]. Citováno 27. prosince 2010.
- ^ Vim (20. ledna 2015). „intro.txt“. Nápověda Vim. Vim. Archivovány od originál dne 9. července 2016. Citováno 9. července 2016.
- ^ „vim (1)“. die.net. Vim. 11. dubna 2006. Archivovány od originál dne 9. července 2016. Citováno 9. července 2016.
Vim je založen na Stevie, na kterém spolupracovali: Tim Thompson, Tony Andrews a G.R. (Fred) Walter. Ačkoli téměř žádný z původního kódu nezůstal.
- ^ „Pokračující příběh Vima“ (PDF).
- ^ "Historie Vim - Jovica Ilic". Citováno 25. ledna 2020.
- ^ A b C „VILE (Vi Like Emacs) - Často kladené otázky (FAQ)“. Citováno 7. září 2019.
- ^ A b C d E F Moolenaar, Bram (15. ledna 2002). „Vim, textový editor s otevřeným zdrojovým kódem“. Citováno 24. října 2005.
- ^ „Textfiles.com“.
- ^ „Filewatcher“. Archivovány od originál dne 11. července 2011. Citováno 26. února 2011.
- ^ „Official Vim Manual, Version 4 summary“. 12. března 2004. Citováno 6. srpna 2008.
- ^ „Official Vim Manual, Version 5 summary“. 17. ledna 2004. Citováno 6. srpna 2008.
- ^ „Official Vim Manual, Version 6 summary“. 12. března 2004. Citováno 6. srpna 2008.
- ^ „Vim Reference Manual, verze 7“. 17. července 2016. Citováno 13. ledna 2019.
- ^ „Skupiny Google“. groups.google.com.
- ^ Google Discussiegroepen. Groups.google.com. Citováno 2013-12-09.
- ^ Bram Moolenaar. „Vydán Vim 8.0!“. Citováno 12. září 2016.
- ^ Bram Moolenaar. „Vim 8.1 je vydán!“. Citováno 18. května 2018.
- ^ Bram Moolenaar. „Vim 8.2 je vydán!“. Citováno 13. prosince 2019.
- ^ Lamb, Linda; Robbins, Arnold (1998). Učení editoru Vi. O'Reilly Media, Inc. str.305. ISBN 9781565924260.
- ^ Moolenaar, Bram (3. listopadu 2010). "Dokumentace Vim: usr_01". Citováno 28. srpna 2019.
- ^ Soubory nápovědy Vim na vimhelp.org
- ^ Oualline, Steve (duben 2001). Vi IMproved (VIM) (PDF). Vydavatelé nových jezdců. ISBN 0-7357-1001-5.
- ^ Moolenaar, Bram (8. prosince 2010). "Vim dokumentace: intro". vimdoc.sourceforge.net. Citováno 28. srpna 2019.
- ^ Moolenaar, Bram (17. února 2010). "Vim dokumentace: vizuální". vimdoc.sourceforge.net. Citováno 28. srpna 2019.
- ^ Melendez, Steven. „Proč Vim, textový editor z 80. let, je stále uživatelským rozhraním volby pro pokročilé uživatele“. Rychlá společnost. Citováno 5. května 2019.
- ^ „Tipy: Usnadnění Vimu“. Linux.com. 10. dubna 2007. Citováno 6. května 2019.
- ^ "Dokumentace Vim: usr_41". vimhelp.org.
- ^ Systém nápovědy Vim (typ „
:Pomoc
"ve Vimu) - ^ Otevřená skupina (2008), "vi - editor obrazovky (vizuální)", Single Unix Specification, verze 4 (IEEE Std 1003.1-2008), vyvoláno 27. prosince 2010
- ^ Peppe; Benji; Campbell, Charles (2. ledna 2004). „Vim FAQ“. Citováno 27. prosince 2010. (otázka 1.3)
- ^ "Dokumentace Vim: obnovit". vimdoc.sourceforge.net. Citováno 17. prosince 2020.
- ^ "Jak zacházet se swapfiles ve Vimu". cs.longwood.edu. Citováno 17. prosince 2020.
- ^ "'volba swapfile ". vimhelp.org. 10. října 2020. Citováno 18. prosince 2020.
- ^ Klein, Benjamin. „The VimL Primer: Edit Like a Pro with Vim Plugins and Scripts by Benjamin Klein | The Pragmatic Bookshelf“. Citováno 25. ledna 2020.
- ^ "Dokumentace Vim: usr_41". vimhelp.org.
- ^ Verdoolaege, Sven; Gerassimof, Matt. "Dokumentace Vim: if_perl". Citováno 27. srpna 2019.
- ^ Moore, Paul. "Dokumentace Vim: if_pyth". Citováno 27. srpna 2019.
- ^ Carvalho, Luisi. "Dokumentace Vim: if_lua". Citováno 27. srpna 2019.
- ^ Maeda, Shugo. "Dokumentace Vim: if_ruby". Citováno 27. srpna 2019.
- ^ Wilken, Ingo. "Dokumentace Vim: if_tcl". Citováno 27. srpna 2019.
- ^ Khorev, Sergey. "Dokumentace Vim: if_mzsch". Citováno 27. srpna 2019.
- ^ "
: help sys-file-list
"
„Vim Online: Ke stažení“. Citováno 7. ledna 2007. - ^ „Ruční stránka systému Mac OS X pro vim (1)“. developer.apple.com. Apple Inc.. Citováno 12. ledna 2010.
- ^ „VimTouch, vývoj se v této aplikaci zastavil“. Citováno 9. srpna 2015.
- ^ „DroidVim, under active development“. Citováno 5. března 2017.
- ^ „Vim - Applidium, mobilní agentura v Paříži“. Archivovány od originál dne 20. ledna 2012. Citováno 11. srpna 2015.
- ^ "Neovim: vim, z krabice".
- ^ "Dokumentace Nvim: vim_diff".
- ^ „Neovim Vision“.
- ^ „Přepínání na NeoVim“.
- ^ „Jak začít používat Neovim místo Vim“.
- ^ „Neovim: Přestavba Vim pro 21. století“.
- ^ „Příspěvek na blogu Vimcasts.org“.
- ^ „GitHub - neovim / neovim: Vim-fork zaměřený na rozšiřitelnost a použitelnost“. 29. srpna 2019.
- ^ „Bountysource fundraiser“.
- ^ „NyaoVim frontend“. 29. srpna 2019.
- ^ „Rozhraní Mac OS X“. 29. srpna 2019.
- ^ „Frontend Neovim-Qt“. 21. července 2020.
- ^ „Neovim PPA information“.
- ^ "Neovim wiki: instalační pokyny". 29. srpna 2019.