Terminal fredag: Thinking Vim [Nogle tip]

Undskyld for Gif-stavefejlene, jeg skrev meget hurtigt

Dette indlæg blev offentliggjort i forummet for et par måneder siden, jeg synes det er på tide for mig at gå til bloggen, tvivl, kommentarer, alt kan gøres i kommentarerne, tak BRAND IKKE Hvis du ikke kan lide Vim, skal du bare trække dig tilbage fra stillingen 🙂

Jeg springer over den grundlæggende del, fordi den bliver meget omfattende, hvis du vil eller er interesseret i at lære den, jeg anbefaler, at du løber fra terminalen

$vimtutor

Nu ja, uden mere starter vi 😀

Makroer i VIM

Det er måske ikke et af de store mysterier ved vim, men det er godt at vide, at vim har makrounderstøttelse, det er muligt at gemme makroer fra a til z ; for at starte optagelsen skal du bare trykke på q+brev for at stoppe optagelsen trykker vi q og for at påberåbe sig makroen er det noget lignende numero+@+brev.

Hvor:
brev: Det er en nøgle til a til z.
numero: Det er det antal gange, vi gentager handlingen.

Dette vil lette mange gentagne opgaver. For eksempel; Antag, at vi har disse linjer:

et eksempel et to eksempel to tre eksempel tre fire eksempel fire fem eksempel fem

Vi vil give det dette format:

'one': 'eksempel' 'one'; 'to': 'eksempel' 'to'; 'tre': 'eksempel' 'tre'; 'fire': 'eksempel' 'fire'; 'fem': 'eksempel' 'fem';

Det er her makroer gør alt lettere for os 🙂

VIM

Anvendt sekvens:

qa I '[Esc] ea': [Esc] wi '[Esc] ea' [Esc] wi '[Esc] A'; [Esc] 0j q

Placer derefter markøren på linjen, der skal ændres og bruges numero+@+brev i dette tilfælde brugte jeg 4+@+a

Erstatte

Et meget vigtigt værktøj i Vim er at erstatte dette, vi placerer os i Vim Normal-tilstand ved at trykke på Esc senere trykker vi på : og vi skriver kommandoen Jeg siger kommando, fordi det ikke er begrænset til erstatning. ligner meget RegEx
Eksempler:

Det mest almindelige at ændre en streng af tegn i hele dokumentet:

Terminal 2

kommando:

:% s / vim / Vim / g

Udskift i alle vim-linjer med Vim Bemærk: hvis jeg ikke havde tegnet % Jeg vil kun søge på den linje, du befinder dig

Erstat mellem et bestemt interval her mellem linjer 3,5:

Terminal 3

kommando:

: 3,5 sek / Vim / VIM / g

Fra linie 3 til 5 skal du erstatte Vim med VIM

Her bemærkes, at der ikke er nogen g i slutningen redigeres det kun det første ord, der matcher

Terminal 4

kommando:

: 3,5s / Vim / VIM

Med denne linje fjerner vi alle de linjer, der indeholder en #

Terminal 5

kommando:

:., $ g / # / d

af den aktuelle linje . indtil slutningen af ​​dokumentet $ se efter tallene # og slet dem d

Her sorterer en kommando filafsnittet

Terminal 6

kommando:

: 3, $ sort

Fra linje 3 til slutningen af ​​dokumentet, bestil det

Andre kommandoer

Her er tricket i kommandoen :r læse hvad dette gør som navnet siger hahaha læs, du kan tilføje teksten til et andet dokument, men i dette eksempel tilføjer vi indikatoren ! at dette separat skal udføres, er det muligt at udføre et script fra den samme vim for at debugge eller hvad du end kan tænke dig her et eksempel:

Terminal 7


Kommando i rækkefølge efter udseende:

#Date :: r! Date #Date with format :: r! Date + \% D #List directories :: r! Ls Documents

Jeg bruger almindelige kommandoer, men vim tager output fra enhver kommando og indsætter den som tekst i dokumentet.

Og dette er kun en lille del, der er stadig mere ... Og de ting, som jeg ikke kender hahahaha.

Selection

Sidst men ikke mindst er den visuelle tilstand, hvor vi let kan vælge linjer for at manipulere dem. Der er tre typer visuelt valg.

v Visuelt efter tegn
V Visuelt ved linier
kontrol+v Visuelt ved blokke

Vælg hvad der er inden for en parentes:
v% Hvis du er i begyndelsen / slutningen af ​​parentesen
vib Hvis du er inden for parenteserne

Terminal 8

Vælg hvad der er inde i dobbelt eller enkelt anførselstegn:
vi' Vælg enkelte tilbud
vi" Vælg dobbelt tilbud

Terminal 9

viB Vælg alt, hvad der er inde i tasterne

Terminal 10

Valg efter linje

ggVG Vælg hele dokumentet

Terminal 11

Her er grundlæggende gg gå til start; indtast visuel vælger V; og gå til slutningen G.

Valg efter blok

kontrol+v

Terminal 12

[kontrol] v e5j C [du skriver teksten] [esc] [esc]

Og i dette indtaster du den visuelle vælger ved blokke kontrolv, Jeg går videre til slutningen af ​​ordet, og 5 linjer ned 5j, jeg sletter ordet med C, jeg skriver teksten for at erstatte og trykker på Esc Esc.

Den anden er den samme, men i stedet for c det er noget som at slette og gå i insert-tilstand Jeg bruger i går ind i indsæt I-tilstand, hvor markøren er placeret.

Alt dette, som jeg forklarer, kan virke mystisk eller sådan noget som vim ninja hahaha, men det er ikke noget, der ikke er i vim manualen Vim har en af ​​de bedste dokumentationer, jeg kender for at indtaste dokumentationen skal du bare indtaste

:Hjælp

hvis du har brug for noget specifikt

: hjælp: w

Dette fører dig direkte til det afsnit, der taler om: w Gemme.

Nu hvis ... Happy Vim folk. 😀


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Nodetin sagde han

    Jeg tror, ​​jeg begynder at bruge Vim 🙂

  2.   Rodrigo bravo sagde han

    Fremragende artikel tak for deling. Jeg vidste ikke om at vælge efter blok. Skål!

  3.   Blå kranium sagde han

    Emacs ..., jeg tror, ​​at nogen måtte sige det, så hvorfor vente mere: D, nej, det er ikke begyndelsen på en flamme, mellem Emacs og Vim kan der ikke være nogen diskussion: D, det er helt klart, hvad der er overlegen , og nej, nej e Vim;).

    1.    blablabla sagde han

      Ja, det er begyndelsen på en flamme. Vær forsigtig med disse typer kommentarer, fordi de ikke er objektive. Derudover bidrager det ikke noget til, hvad artiklen handler om. Hilsen.

    2.    Zironid sagde han

      emacs! emacs! emacs! 😀

    3.    Martin sagde han

      Emacs til masserne!
      «[…] Jeg tror nogen var nødt til at sige det […]» Hahaha, +1!

      Klæd som det er, der kommer nogen, der spiller det eksotiske og siger «markører med pile? WASD? Nej nej, jeg vil vise dig vejen, det er hjkl »og der er meget, der lyser bag>: D

      @Blablabla: godt der, dit nick lever op til dit snak!

    4.    giskard sagde han

      En undersøgelse for at se, hvilke læsere foretrækker, ville ikke skade.

  4.   ahdezzz sagde han

    Store! Vim er langt den bedste teksteditor. Forhåbentlig offentliggør oftere på dette websted om den nævnte udgiver. Hilsen.

  5.   Jorge sagde han

    Jeg har altid haft problemer med at forstå makroer i Vim, der om lidt fritid giver jeg det et spin 😛

    Bemærk: For KDE-brugere skal du bruge Vim-QT 😀

    Tak 😀

  6.   eliotime3000 sagde han

    Endelig har min Galaxy Mini endnu en grund til at leve: Jeg har ikke EMACS, men jeg har VIM.

    Jeg tager dine tip i betragtning.

  7.   hvalpe sagde han

    god info tak 🙂

  8.   Lito sagde han

    del din vimrc er meget forståelig visuelt tiltalende :) !!! Jeg håber du deler det med mig :)!

    1.    Wada sagde han

      Selvfølgelig vil jeg 😀 lade mig forberede et indlæg

  9.   ramg91m sagde han

    Wow det ser så godt ud :)! haha jeg begynder at øve mere, og din vimrc ser meget godt ud Oo! Jeg håber du deler det tak;)!

    1.    Wada sagde han

      Faktisk er det ikke så meget vimrc, men jeg vil forklare, at jeg har gjort hahaha

      1.    ramg91m sagde han

        haha meget bedre :)! så vi lærer alle haha ​​tak :)! 😉

  10.   Tesla sagde han

    Meget godt råd Wada. Sandheden er, at mine programmeringsbehov er meget grundlæggende, og måske har jeg aldrig set potentialet i Vim. Det, du siger, virker imidlertid interessant for mig. Jeg vil prøve at omsætte det i praksis, når jeg skal gøre noget.

    Mange tak!

  11.   Jonathan Leonel Gasparini sagde han

    Fremragende indlæg! Selvom jeg allerede kendte disse tip meget godt forklaret for dem, der ikke kendte dem!
    Lidt hjælp til nye brugere, «vimtutor» er på engelsk. For dem, der ønsker tutorial på spansk, skal du bare skrive «vimtutor es».

    Jeg elsker vim, mit liv ville være helt anderledes uden ham!
    Jeg har brugt det i 2 år, og hver dag er jeg mere overrasket =)

    hilsen

    P / D: Enhver, der ønsker at se et eksempel på en .vimrc-konfiguration, jeg inviterer dig til at se min! =) https://github.com/jlgasparrini/dotvimrc