Paano Piliin ang Lahat sa Vim

Paano Piliin Ang Lahat Sa Vim



Sa Vim, para piliin ang lahat ng text sa isang file, gamitin ang ggVG utos sa NORMAL mode. Pagkatapos piliin ang teksto, ang mga operasyon tulad ng pagkopya, pagtanggal, pagbabago, o pag-paste ay madaling maisagawa sa lahat ng teksto.

Kung gumagamit ka ng isang operating system na nakabatay sa GUI, dapat ay pamilyar ka sa ctrl+a mga shortcut key upang piliin ang lahat ng nilalaman sa isang file o window. Sa Vim, hindi mo magagamit ang parehong mga key upang piliin ang lahat ng teksto. Sa halip, nag-aalok ito ng ibang hanay ng mga key (ggVG) upang piliin ang lahat sa isang file. Sa gabay na ito, tuklasin ko kung paano pumili ng teksto sa Vim, at kung paano gawing mas madali gamit ang key-mapping.







Tandaan: Ang mga Vim Command na binanggit sa gabay na ito ay ginagawa sa macOS. Dahil ang Vim ay isang cross-platform na text editor, gagana ang mga command nang walang anumang error sa Linux at Windows din.



Piliin ang Lahat sa Vim



Upang piliin ang lahat sa Vim, pindutin ang Esc key upang makapasok sa NORMAL mode, at i-type ang utos na ibinigay sa ibaba:





ggVG

Sa utos sa itaas, isang kumbinasyon ng limang susi ang ginagamit. Hatiin natin ito.



  • gg ay ginagamit upang ilagay ang cursor sa simula ng unang linya.
  • SA ay ginagamit upang ilipat ang kasalukuyang mode sa VISUAL LINE mode.
  • G ay ginagamit upang ilagay ang cursor sa simula ng huling linya.

Pagkatapos piliin ang lahat, gamitin ang mga utos na binanggit sa sumusunod na talahanayan upang maisagawa ang nais na operasyon.

at Upang kopyahin (yank) ang lahat ng teksto
d Para tanggalin lahat ng text
c Upang baguhin ang lahat ng teksto
s Upang palitan ang isang tiyak na pattern ng isang string

Piliin ang Lahat sa Vim gamit ang ctrl+a Map

Well, kasama ako, walang gustong gumamit ng medyo mahirap tandaan na hanay ng mga Vim command para piliin ang lahat ng text sa isang file. Gayunpaman, ang ctrl+a (sa Linux at Windows) ang mga key ay pangkalahatang ginagamit at madaling matandaan. Samakatuwid, mas gugustuhin kong imapa ang ctrl+a mga susi na may ggVG utos.

Buksan ang vimrc file, ilagay ang sumusunod na linya dito, at i-save ito sa pamamagitan ng paggamit ng :wq utos o pagpindot sa shift+zz mga susi.

nnoremap < C-a > ggVG

Sa utos sa itaas, nnoremap ay ginagamit upang i-map ang key na hindi recursive sa NORMAL mode habang ay nagpapahiwatig ng ctrl , at a mga susi. Maaari mong itakda ang anumang key ayon sa iyong kagustuhan.

Kopyahin at Tanggalin ang Lahat ng Mga Linya sa isang File

Ang % Ang command ay isa pang kapaki-pakinabang na command para magsagawa ng mga operasyon sa buong file. Halimbawa, upang kopyahin ang lahat ng mga linya sa file, gamitin ang :%at utos. Ang % ay nagpapahiwatig ng kasalukuyang pangalan ng file, at at ay kinokopya ang lahat ng teksto sa file. Katulad nito, upang tanggalin ang lahat ng mga linya, gamitin ang :%d utos.

: % at 'Kopyahin ang lahat ng mga linya sa isang file

:%d                             '
Tanggalin ang lahat ng mga linya sa a file

: % s /< pattern >>< kapalit > 'Palitan ang isang pattern ng isang string

Ang parehong pag-andar ay maaari ding makamit gamit ang gg at G mga utos. Ngunit depende ito sa posisyon ng cursor. Dalhin ang iyong cursor sa simula ng file gamit gg at pindutin yG upang kopyahin ang lahat ng mga linya. Sa parehong paraan, ilagay ang cursor sa dulo gamit G at pindutin ygg upang kopyahin ang lahat ng mga linya. Upang tanggalin ang mga linya, palitan at kasama d .

Higit pa rito, ang yy at DD Ang mga utos ay binibilang din bilang isang numero ng linya. Upang kopyahin ang apat na linya, pindutin ang 4yy, at apat na linya mula sa posisyon ng cursor ang makokopya. Ang kopyahin at tanggalin ang lahat ng in-file functionality ay maaaring makamit kung papasa tayo ng malaking numero tulad ng 99999 sa alinman yy o DD utos. Halimbawa, 99999yy at 99999dd Kokopyahin at tatanggalin ng mga command ang lahat ng nilalamang nasa file.

Kopyahin ang Lahat ng Teksto sa System Clipboard

Upang i-paste ang kinopyang text mula sa Vim sa mga application ng system gaya ng mga text editor o browser, gamitin ang gg *yG utos. Karaniwan, kinokopya ng Vim ang teksto sa default na hindi pinangalanang rehistro, na maaaring ma-access gamit :reg “” . Gayunpaman, hindi ka papayagan ng Vim na i-paste ang teksto sa labas ng editor ng Vim. Gamitin ang ' *at utos, upang ilipat ang pinili teksto sa clipboard ng operating system.

gg '*yG                          ' Kopyahin sa clipboar ng system

Sa utos sa itaas, * ay isang rehistro ng system, na isang maliit na espasyo sa imbakan upang maglaman ng data. Mayroong dalawang mga rehistro ng system + at * at pareho ay maaaring gamitin upang kopyahin ang nilalaman sa clipboard ng system. Maaari mong gamitin ang command na ito sa ibang paraan kapag ikaw ay nasa COMMAND mode.

: % y+ 'Kopyahin sa clipboard ng system

dito, % kumakatawan sa buong file, at ay para sa yanking, at + ay ang rehistro ng system. gayunpaman, * maaari ding magtrabaho para sa parehong layunin.

Katulad nito, kung may nakopya ka sa clipboard, para i-paste ito sa paggamit ng Vim, “+p.

Konklusyon

Sa Vim, ang utos ggVG ay ginagamit upang piliin ang lahat sa isang file. Pagkatapos piliin ang lahat ng mga linya, maaaring maisagawa ang iba't ibang mga operasyon, tulad ng pagkopya, pagbabago, o pagtanggal. Gayunpaman, ang mga operasyong ito ay maaari ding isagawa gamit ang command line na may % tanda. Inirerekomenda ko ang pagma-map ng isang susi (mga key) upang maisagawa ang piliin-lahat na operasyon sa Vim.