Vim

vim

Vim în modul „consolă”.
Tip de Editor de text
Dezvoltator Bram Molenar și alții
Scris in Script C și Vim [1]
Sistem de operare Amiga , Linux , Mac OS X , Windows , OpenVMS , OS/2 , Unix
Limbi de interfață Engleză, spaniolă, italiană, chineză, germană, persană, poloneză, rusă, franceză, japoneză [2]
Prima editie 2 noiembrie 1991 [3]
ultima versiune
Licență Licență Vim compatibilă cu GPL , program caritabil
Site-ul web vim.org
 Fișiere media la Wikimedia Commons

Vim (prescurtare de la Vi Im proved , pronunțat „vim”) este un editor de text gratuit bazat pe vi -ul mai vechi . Acum este un editor de text puternic, cu libertate completă de personalizare și automatizare, posibilă prin extensii și suplimente.

Interfața cu utilizatorul Vim poate rula în modul text pur (consolă) .

Există, de asemenea, o modificare pentru utilizare într-o interfață de fereastră grafică - GVim. Multe comenzi de utilizator din GVim pot fi invocate prin elementele de meniu respective.

Principala diferență față de editorii de text „clasici”

Una dintre principalele caracteristici ale editorului este utilizarea a două moduri principale, comutabile manual, de introducere: comandă (după lansare, editorul este în el) și text ( modul de inserare în engleză  , modul de editare directă a textului, similar cu cele mai „normale” editori). Există și alte moduri.

Vim nu este intuitiv (altul decât în ​​modul „text”), așa că lucrul eficient cu editorul necesită o învățare prealabilă.

Funcționalitate

Recenzie: Îmbunătățiri vii prezentate

În comparație cu vi clasic, Vim are următoarele îmbunătățiri:

Sistemul de ajutor Vim

Vim are un sistem de ajutor foarte convenabil și detaliat și un sistem pentru navigarea și navigarea între secțiunile sale. Pentru a deschide oricare dintre secțiunile sale, trebuie doar să utilizați comanda :help în modul de comandă.

Terminologie

Moduri de operare

Modul normal

Desigur, există multe mai multe astfel de echipe. Ideea este că trebuie să înveți aceste comenzi pentru a le folosi. Ai putea argumenta că probabil nu poți învăța toate aceste comenzi, deoarece există sute de comenzi de mișcare diferite, unele simple și altele destul de inteligente și că ar fi nevoie de săptămâni de practică pentru a învăța toate aceste comenzi. Ei bine, nu trebuie să le înveți pe toate. În schimb, trebuie să înțelegeți stilul dvs. de editare individual și să învățați doar acele comenzi care vă vor ajuta să-l faceți mai eficient [5] .

Bram Moolenaar

Implicit, Vim pornește în modul normal, numit și modul de comandă. Apăsările de taste în acest mod sunt percepute ca comenzi (copiere, ștergere, mutare a textului etc.).

Printre comenzile de mod normal, există comenzi „cu un singur caracter”. Deci, de exemplu, apăsarea $va muta cursorul la sfârșitul liniei; apăsarea tastei 0(zero) - până la început; D(în majuscule) - pentru a șterge ( șterge ) o parte a liniei curente de la poziția curentă a cursorului până la sfârșit; С(în majuscule) - pentru a înlocui ( modifica ) o parte a liniei curente de la poziția curentă a cursorului până la sfârșit etc.

Alte comenzi pentru munca lor vor aștepta continuarea ulterioară a introducerii. De exemplu f, este responsabil pentru deplasarea rapidă într-o linie la următorul caracter introdus după el. Prin urmare, după apăsarea fVim, va aștepta ca acest caracter să fie tastat pentru a-l utiliza ca cel de căutare.

După apăsarea tastelor y( y ank ), d, cși a altor taste de „control” similare, Vim va aștepta introducerea ulterioară a comenzilor care specifică obiectul asupra căruia va fi efectuată acțiunea (copiere, ștergere sau înlocuire, respectiv). Deci, dawva șterge cuvântul curent de sub cursor ( ștergeți un cuvânt mbient ) și toate caracterele de  la poziția curentă a cursorului până la sfârșitul liniei. d$

Astfel de comenzi foarte simple sunt folosite nu numai în „modul manual” (când, dacă este necesar, sunt tastate de fiecare dată de la tastatură), ci și atunci când se stabilesc secvențe complexe de acțiuni .

Modul normal este modul central , de la care se realizează trecerea la toate celelalte. Puteți trece de la orice mod la modul de comandă apăsând tasta de două ori Esc(în majoritatea cazurilor, o apăsare este suficientă).

Modul de inserare

Modul de inserare ( modul de inserare în engleză  ), în care este introdus text.

Pentru a trece de la modul de comandă la modul de inserare, puteți apăsa i(pentru a începe să lipiți text la cursor) sau a(pentru a începe să lipiți text după cursor). Există, de asemenea, o serie de alte taste și combinațiile acestora pentru trecerea la modul de editare directă a textului (de exemplu, printr-una dintre comenzile de înlocuire a obiectelor text).

În acest mod, Vim funcționează la fel ca majoritatea editorilor de text „obișnuiți”. În mod implicit, caracterele tastate nu sunt tratate ca comenzi, ci sunt inserate în textul existent. Cu toate acestea, chiar și în acest mod, puteți seta acțiuni speciale ale editorului care sunt efectuate atunci când sunt apăsate anumite taste sau combinațiile acestora. Ca exemplu, puteți specifica că atunci când introduceți o paranteză de deschidere, paranteza (de închidere potrivită este adăugată imediat și cursorul este plasat între ele.

CtrlComenzile rapide de la tastatură ( + R, etc.) pot fi, de asemenea, utilizate pentru a insera, șterge, modifica și completa textul automat .

Când introduceți un cuvânt abreviere, acest cuvânt este înlocuit automat cu un text predefinit.

Modul linie de comandă

Acest mod este apelat prin apăsarea :din modul normal. Coloana este urmată de o comandă complexă (de exemplu, căutare sau înlocuire), care, după introducere, este transmisă pentru execuție apăsând ↵ Enter. După executarea comenzii, editorul revine la modul normal. Acest mod include, de asemenea, comenzi pentru a căuta mai departe în text /, căutare înapoi în text ( ?) și o comandă de filtru !pentru transmiterea datelor către un filtru extern.

Modul vizual

Modul vizual a fost absent din Vi și a apărut pentru prima dată în Vim. Este oarecum similar cu comanda. Folosind comenzi speciale de control, în combinație cu săgeți și comenzi de navigare, puteți selecta fragmente de text caracter cu caracter, linie cu linie sau ca bloc și apoi să le aplicați comenzi în mod normal (de exemplu, ștergerea textului selectat sau înlocuirea acestuia). Editarea în acest mod este mai ușoară decât în ​​modul normal, deoarece puteți vedea clar la ce bloc de text se va aplica comanda de editare invocată.

Automatizarea operațiunilor

Capacitatea lui Vim de a distinge între obiectele text (cuvinte, propoziții, paragrafe, rânduri, caractere individuale etc.) vă permite să setați o secvență de acțiuni pentru a automatiza anumite operațiuni.

Da, după comandă

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

apăsarea F7convertește (în modul de comandă) orice cuvânt de sub cursor (indiferent de lungimea acestuia și de caracterele din care constă) într-o etichetă xml . De exemplu, dacă cuvântul curent de sub cursor este div , atunci va fi convertit în <div></div> , dacă transform  este atunci în <transform></transform> etc.

Vim este capabil de transformări mult mai complexe, vă puteți seta și propriile funcții pentru a transforma datele și a automatiza operațiunile de rutină.

Toate acțiunile care sunt fezabile în Vim „manual” (adică direct de către o persoană la tastatură) pot fi automatizate (inclusiv comutarea între diferite moduri).

Istoricul versiunilor

Versiunea istorică
data Versiune Schimbări
1988 1.0 Bazat pe Stevie pentru Amiga , intitulat Vi IMitation , niciodată lansat oficial.
2 noiembrie 1991 1,14 [6] Prima lansare publică pentru Amiga
1992 1,22 [6] Portat pe Unix . Acum Vim concurează cu vi . Din acel moment Vim a devenit Vi IMproved
12 august 1994 3.0 [6] Suport pentru ferestre divizate
29 mai 1996 4.0 [6] Interfață grafică cu utilizatorul
19 februarie 1998 5.0 [6] Evidențierea sintaxelor , un limbaj de scripting simplu (funcții definite de utilizator, comenzi etc.)
6 aprilie 1998 5.1 Remedieri de erori și alte modificări.
27 aprilie 1998 5.2 Suport pentru linii lungi, browser de fișiere încorporat, dialoguri, meniuri pop-up, mod selectare, fișiere de sesiune, funcții definite de utilizator, comenzi, interfață tcl și alte modificări.
31 august 1998 5.3 Remedieri de erori și alte modificări.
25 iulie 1999 5.4 Criptare simplă a fișierelor, diverse îmbunătățiri
19 septembrie 1999 5.5 Remedieri de erori, diverse îmbunătățiri
16 ianuarie 2000 5.6 Fișiere de sintaxă noi, remedieri de erori și alte modificări
24 iunie 2000 5.7 La fel
31 mai 2001 5.8 La fel
26 septembrie 2001 6.0 [6] Folding , pluginuri, multilingvism și alte modificări
24 martie 2002 6.1 Corectarea erorii
1 iunie 2003 6.2 GTK2 , suport arabă , comandă: încercați, caracteristici minore, remedieri de erori
7 iunie 2004 6.3 Remedieri de erori, actualizări de traducere, îmbunătățiri ale etichetelor
15 octombrie 2005 6.4 Remedieri de erori, actualizări de suport pentru Perl , Python și Ruby
7 mai 2006 7.0 Verificare ortografică , completare automată , file ("file"), evidențierea liniei și coloanei curente, anularea ramurilor și alte modificări
12 mai 2007 7.1 Remedieri de erori, executabile noi și fișiere de sintaxă și alte modificări
9 august 2008 7.2 Remedieri de erori, executabile noi și fișiere de sintaxă, îmbunătățiri de securitate și alte modificări
15 august 2010 7.3 Remedieri de erori, executabile noi și fișiere de sintaxă, îmbunătățiri de securitate, anulare „perpetuă”, sfârșitul suportului pentru Mac OS 9 și GTK1 , suport Lua și alte modificări
10 august 2013 7.4 Motor de expresii regulate nou, mai rapid și alte modificări
12 septembrie 2016 8.0 I/O asincron, expresii lambda , închideri , suport pentru GTK+ 3 și Microsoft DirectX și alte modificări.
18 mai 2018 8.1 Suport pentru deschiderea unui terminal în interiorul unei ferestre Vim [7] .
14 decembrie 2019 8.2 Ferestre pop-up
28 iunie 2022 9.0 [8] Scriptul Vim9

Portabilitate

Unul dintre avantajele editorului Vim este disponibilitatea lui pentru multe sisteme de operare . Acest lucru este valabil mai ales pentru administratorii de sistem care trebuie să editeze fișiere pe platforme.

Vim rulează pe următoarele sisteme de operare:

Vim Touch

Pentru sistemul de operare Android , care folosește ecranul tactil ca dispozitiv principal de intrare, David Tao a scris o versiune adaptată a vim, vim touch, distribuită în prezent sub licența Apache [9] [10] [11] [12] . Există și o variantă de DroidVim.

Premii

Din 2001 până în 2004 Vim a fost câștigătorul premiilor Readers' Choice Awards de la LinuxJournal pentru Editorul de Texte Favorit. De asemenea, a primit premiul Linuxworld Editors' Choice Award în 1999 și Slashdot Beanie Award în 2000.

Licență

Vim este distribuit sub o licență compatibilă cu GPL cunoscută sub  numele de Charityware .  O parte din fondurile donate pentru dezvoltarea Vim sunt folosite pentru a sprijini orfanii din Uganda prin ICCF Holland .

Extensii Vim

Numărul total de extensii disponibile pe site-ul oficial este mai mare de 3000 [13] .

Extensiile populare Vim includ:

  • MiniBufferExplorer ;
  • taglist  - pentru a vizualiza structura fișierelor de program (lista de funcții etc.);
  • bufexplorer (din Vim 7.4, în mare parte învechit);
  • closetag  - pentru închiderea mai convenabilă a etichetelor la editarea fișierelor html și xml ;
  • supertab  - pentru completarea automată a cuvintelor prin apăsare Tab ↹(în același timp, liniuțele funcționează ca de obicei);
  • proiect - să organizeze fișierele în proiecte pentru o navigare mai ușoară prin ele;
  • indexer - pentru generarea de tag-uri folosind ctag -uri pentru toate fișierele incluse în proiect (proiectul poate fi organizat atât cu plugin-ul de proiect, cât și fără acesta). Etichetele sunt necesare pentru a trece rapid de la un apel de funcție la declarația acestuia, pentru a obține o listă de membri ai unei structuri sau clase etc.

Lista extensiilor Vim populare după popularitatea lor pe GitHub: http://vimawesome.com

Datorită flexibilității opțiunilor oferite prin extensii, Vim poate fi folosit și ca wiki personal .

Note

  1. Vim | freshmeat.net . Consultat la 21 mai 2009. Arhivat din original pe 6 iunie 2009.
  2. Vim în limbi non-engleze . Preluat la 4 februarie 2008. Arhivat din original la 23 august 2011.
  3. http://arstechnica.com/information-technology/2011/11/two-decades-of-productivity-vims-20th-anniversary/
  4. Vim 9.0  : vim online - 2022.
  5. Şapte obiceiuri de editare eficientă a textului . Consultat la 7 aprilie 2010. Arhivat din original pe 2 octombrie 2011.
  6. 1 2 3 4 5 6 Moolenaar, Bram Vim, un editor de text open-source ( 15-01-2002 ). Consultat la 24 octombrie 2005. Arhivat din original pe 23 august 2011.
  7. OpenNews: a fost lansat editorul de text Vim 8.1 . www.opennet.ru Preluat la 25 mai 2018. Arhivat din original la 25 mai 2018.
  8. Bram Moolenaar. Vim 9.0 este lansat! . Data accesului: 30 iunie 2022.
  9. Alex Young. Recenzie: VimTouch pentru Android (link indisponibil) . usevim.com (19 septembrie 2012). Consultat la 15 iunie 2016. Arhivat din original pe 13 iunie 2016. 
  10. Transformăm tableta într-un loc de muncă cu drepturi depline . „Hacker” (26 noiembrie 2013). Preluat la 15 iunie 2016. Arhivat din original la 9 august 2016.
  11. Vitaly Soroko. PHP pe Android // LinuxFormat . — 2016. — Mai ( Nr. 05 (209) ). - S. 22 .
  12. Proiect Vim Touch pe GitHub
  13. Scripturi  Vim . Consultat la 4 ianuarie 2012. Arhivat din original pe 3 februarie 2012.

Link -uri