Vi cheat sheet jeb vi komandu saraksts

Turpinot tēmu par linux/unix vides konsoles tipa teksta redaktoriem, gribētots pieminēt Vi Cheat Sheet jeb vi komandu sarakstu, kā arī nelielu aprakstu ar piemēriem, ko ir sagatavojis Pēteris. Pirms kāda laika viņš ir aprakstījis arī emacs komandrindas teksta rediģēšanas rīku iespējas. Abas šīs programmas parasti ir pieejamas unix konsolē un viena no tām ir kā noklusētā.

Man savulaik kāds bija ierādījis tādu zvēru kā pico, kas man šķita gana ērta programma. Diemžēl uz daudziem serveriem kā noklusētais un bieži vien pat vienīgais pieejamais teksta redaktors bija vi, kas, lai arī ļoti nepatika, tomēr ar laiku pieradu pie tā.

Jaunākajos serveros jau izmanto uzlabotu jaunāko brāli Vim (Vi Improved). Tas jau ir ļoti labs izstrādātāju palīgs darbam konsolē.

Lai vai kā, bet uz serveriem, kuros admini neko neizstrādā, parasti neliek neko vai arī uzliek kaut kādu savu mīļāko konsoles tipa teksta redaktoru, kas parasti nav Vim. Tajā pašā laikā vi ir pieejams, jo tas bieži iet kā vienīgais noklusētais redaktors.

Šis nelielais vi komandu saraksts (.txt 13KiB) var noderēt, ja būsi nokļuvis negaidītā situācijā, kad kaut kas ir jālabo komandrindā, bet īsti nezini kā to izdarīt. Pirmajās reizēs man bija jautri, jo es īsti nezināju kā tikt ārā no rediģēšanas režīma. Šobrīd pat naktī varētu ierakstīt maģisko komandu :wq

35 thoughts on “Vi cheat sheet jeb vi komandu saraksts

  1. Grrr

    Yup, vi protams var uzskatīt par diezgan briesmīgu (pats cenšos lietot joe, kur vien varu), bet tas IR tāds gribot negribot de facto standarts ne tikai Linuxiem, bet arī komerciālajiem Unixiem, tātad, a proti drusku darboties ar vi, nepazudīsi.

    Atbildēt
  2. CooLynX Raksta autors

    Izskatīju cauri tā saraksta komandas un secināju, ka man vi tas nespēs aizstāt, jo tur nemaz nav ieliktas elementārās komandas darbam ar failu, kas paredzētas faila saglabāšanai, iziešanai utt.

    Atbildēt
  3. brutalis-vertikalis

    Bija gadījums, kad milllzīgā failā vajadzēja šo to ierakstīt klāt. Uzminiet kas noderēja? vecais labais ed! 🙂 Bet, protams, tas nav ikdienas lietošanai. Kas attiecas uz vi, tas jau labu laiku ir efektīvi aizstāts ar vim. Bet man vislabāk patīk EMACS (sāku gan ar vim), kuram esmu ienesis dažas vim fīčas.

    Atbildēt
  4. ThA-B

    Man gan liekas, ka emacs un vi ir arhaisms. kāpēc nevarētu lietot, piemēram nano (pico lightweight versija. pico diemžēl defaultā nāk komplektā ar pine, kas, savukārt, ne vienmēr ir nepieciešams)

    Atbildēt
  5. Arnolds

    Domāju – kāpēc uz ubuntu tas “vi” ir tik ļurīgs un debils salīdzinājumā ar bezdi. Tad pamēģināju komandu “Vim” un sapratu, ka uz bezdei “vi” ir tas pats, kas ubuntu “vim”.

    Atbildēt
  6. Vilx-

    Viens gan, ko es nekad nespēju saprast – nu kāpēc tie eksotiskie Unix/Linux teksta editori nevar izmantot normālas pogu kombinācijas?! Kāpēc 75% no viņiem nestrādā kaut kas tik triviāls kā Home/End/PageDown/PageUp? Kāpēc backspace un delete veic visjocīgākās iespējamās darbības? Nemaz nerunājot par Insert. Kāpēc nevar iezīmēt turot SHIFT? Kāpēc nevar pārvietoties starp vārdiem ar Ctrl+bultiņas? U.t.t. utjpr. Visām darbībām tur ir kaut kādas mežonīgas pogu kombinācijas, kuras murgainajos manuāļos knapi var atrast, un bez kurām darbs nav iespējams. Es vēl varētu saprast, ka Ctrl-C un Ctrl-V ir Windows izgudrojums. Bet, nu – piedodiet – HOME un END?!

    Es nesen meklēju labu teksta editoru uz Windows. Pamēģināju Emacs, kuram itkā bija ļoti daudz visādu fīču. Bet – piedodiet – ja teksta redaktorā pēc defaulta nevar pat “Hello World” uzrakstīt bez nedēļu ilgas apmācības pie Senseja, tad, nu…

    Atbildēt
  7. CooLynX Raksta autors

    Droši vien tāpēc, ka tie eksotiskie unix bija agrāk nekā windows un kopš tiem laikiem vēl joprojām ir pieejami.
    http://en.wikipedia.org/wiki/Vi

    vi became the de facto standard Unix editor and a nearly undisputed hacker favorite outside of MIT until the rise of Emacs after about 1984.

    Atbildēt
  8. Peteris Krumins

    Šeit tiek jauktas divas lietas – strādāšana komandrindiņā un strādāšana vi vai emacs teksta editorā!

    Komandu saraksti, kurus apkopoju, ir strādāšanai komandridiņā (piemēram bash vai ksh), nevis strādāšanai teksta editoros!

    Pēc defaulta visu komandu ievadi un apstrādi (pirms izpildes) nodrošina readline bibliotēka. Šī bibliotēka emulē teksta rediģēšanas taustiņu komandas no vi un emacs editoriem, tādēļ pašai bibliotēkai nav nekāda sakara ar vi un emacs programmām (viņa tās neizmanto).

    Atbildot uz CooLynx komentāru, ka šis komandu saraksts nespēs aizstāt `man vi’, tā ir taisnība, jo šis saraksts ir strādāšanai nevis ar vi teksta editoru un teksta failiem, bet ar komandrindiņu un komandām vienā rindiņā!

    Atbildēt
  9. Vilx-

    Es saprotu, ka šie redaktori ir no tāliem aizlaikiem (nez, cik gan senas ir bultiņas un HOME/END/PgUP/PgDOWN pogas?), tomēr vai nebija laiks izaugt?

    Atbildēt
  10. MZM

    Nu vi noliedzējiem iesaku vispirms noskaidrot kādēļ vi irt āds kāds tas ir. Viens no iemesliem – darbs ar attālinātu sistēmu, kur stapr tausiņa nospiešanu un simbola parādīšanos uz ekrāna ir krietna aizture, kādēļ ietiecams ir darbības reultātu nerādīt uzreiz utml. Tiem, kam liekas tas apsurdi, iesaku pamēģināt ssh via GPRS attālā lauku apvidū. Tur vi parāda savas stiprās puses 🙂

    Atbildēt
  11. Peteris Krumins

    vilx, tāpēc ka tie taustiņi ir tik tālu, ka neviens tik tālu ar saviem pirkstiem negrib sniegties. Ja tev vajag bultiņas un citus tālos taustiņus, tad tos var arī nobindot, lai tie tev strādātu.

    Atbildēt
  12. eses

    Ja jau patīk ar vi strādāt, tad droši vien patīk arī uz ASCII pr0n onanēt.

    Bet tikmēr civilizētā pasaule jau sen kā ir pārgājusi uz grafisko režīmu.

    Atbildēt
  13. sh

    Dēļ vim pat samērā bieži gadās ierakstīt “:wq” vai “:w” iekš OpenOffice Writer (MS-Word alternatīva) un brīnīties par nenotiekošo rezultātu ;).

    Atbildēt
  14. Grrr

    Tiem, kas uzskata, ka vi/vim ir tālā pagātne, varu paskaidrot, ka uz brandotajiem komerc Unixu dzelžiem arī tagad instalācija bieži vien ir caur komandrindiņu no seriālā termināļa, tas nekas, ka no DVD.

    Jūsuprāt ezotēriskās komandas ir tādas, kuras var izpildīt uz maksimālā skaita dažādāko termināļu. Visādi tur Home/Pagedown utt mēdz būt subject-to-change.

    Spēja darboties ar vi un komandrindas pārzināšana joprojām ir īstu Unix adminu pazīšanas zīme. Vi ir lieta, kas var neparādīties vajadzīga līdzkamēr cilvēks nesāk administrēt “resnos” komercdzelžus (piemēram vienā no Latvijas lielākajām bankām izmanto Sun serverus, un drošības politika ir tā, ka tur neinstalē nekādus outside utiļus, tsk. editorus, tas nozīmē, ka jāiztiek ar to, kas opsistēmai nāk līdzi. Un praktiski jebkuram Unixam standartā nāk tikai vi).

    Bet ja vi vēl ir tada lieta, kuras neprasmi var saprast, tad Unix sisadmina komandrindas nievāšana ir īsta diletanta pazīme.

    Atbildēt
  15. Minogs

    Visiem čīkstētājiem par vi/vim, *nix arhaismu:
    Viss ir gaužām vienkārši – kurš katrs nevar būt neiroķirurgs, astronauts utt. Tā pat arī ir cilvēki kuriem nav lemts dabūt autovadītāja tiesības. Vienkārši nav lemts. Tādēļ atslābstiet un lietojiet savus Home un PgUp taustiņus tur kur viņi strādā un aizmirstiet par Unxi/Linux. Nu, nav lemts Jums un viss! 🙂

    Atbildēt
  16. Kirurgs

    Kapec visu ir jajauc putra? Kur ir grafiska vide, tur ir grafiskie editori, kur tas nav – ir komandrinda. Attiecigiem serveriem attiecigi toolji. Attiecigajai specialiatei attiecigi dzelzi.
    Nu nafig enterprise Db serveriem sevi noslogot ar grafiku, ja taa operesanai NAV vajadziga?
    Grafiska vide ir vajadziga end-useriem.
    Es jums saku, ja esi specs – ar komandrindu, shortcutiem utml. ir daudz atrak stradat, ka ar peli kliksinat. Ar peli ir vienkarsak, jo tur ir hinti, viss uzskatami un taa, bet specam hinti nav vajadzigi, vienreiz nokonfigure un aizmirsti!
    Esiet reali, un nepielidziniet savu niecigo pieredzi ar Windu kaa one-user sistemu un dazu dokumentu uzrakstisanu pie serveriem un to konfiguresanu, tjunesanu utml.!

    P.S. man gan labak patik nano editors 😉

    Atbildēt

Ieraksti komentāru

Tava e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *