Monet ihmiset, varsinkin aloittelijat, käyttävät nuolinäppäimiä siirtyäkseen ympäriinsä komentorivillä. Monet ihmiset voivat tehdä niin paljon nopeammin kuin kestäisi muistella monimutkaisempia mutta tehokkaampia vaihtoehtoja. Monet näistä menetelmistä ovat oppimisen arvoisia, joten esittelemme ne tässä.
Komentotulkissa on kaksi erilaista valikoimaa näppäinkomentoja, jotka ovat inspiroineet kaksi tehokasta tekstieditoria, Emacs ja vi (luultavasti kaksi tehokkainta olemassaolevaa tekstieditoria). Käyttämällä näppäinkomentoja komentorivivelhot voivat kirjoittaa ja muokata jopa pitkiä komentorivejä sekunnin murto-osassa. Jos opettelet komentotulkin tarjoamia näppäinkomentoja, vaikka ne näyttäisivätkin aluksi epäkäytännöllisiltä, voit pian tehdä niin.
Huomaa: Voit käyttää Emacsin ja vi:n näppäinkomentoja ainoastaan, jos osaat kirjoittaa kymmensormijärjestelmällä. Jo et osaa, kannattaa opetella mahdollisimman nopeasti. Se on ehdottomasti sen arvoista.
Oletusarvoisesti BASH-komentotulkki käyttää Emacsin näppäinkomentoja. Jos tahdot käyttää vi:n näppäinkomentoja, kirjoita seuraava komento:
$ set -o vi
Voit siirtyä takaisin Emacsin näppäinkomentoihin kirjoittamalla:
$ set -o emacs
Emacsin ja vi:n näppäinkomennot ovat ihan erilaisia, molempiin tottuminen vie aikaa. Sinun kannattaisi kokeilla molempia, jotta löytäisit itsellesi paremmin sopivan vaihtoehdon. Tämä kappale käsittelee oletusarvoisesti käytössä olevia Emacsin näppäinkomentoja. Jos opettelet vi:tä, voit siirtyä niihin näppäinkomentoihin, ja ne tuntuvat hyvin intuitiivisilta.
Vihje: Älä yritä opetella kaikkia näppäinkomentoja kerralla! Ihmisen aivoja ei ole suunniteltu sellaisiin asioihin, joten unohdat melkein kaikki niistä. Sen sijaan kannattaa opetella 4-5 käyttökelpoisimmalta vaikuttavaa näppäinkomentoa ja käyttää niitä säännöllisesti - oppia tekemällä. Myöhemmin voit palata tähän lukuun ja opetella lisää näppäinkomentoja. Pian pyörit vauhdilla komentorivillä!
Emacsin näppäinkomennoissa käytetään paljon Ctrl ja Alt -näppäimiä. Kokeneet Emacsin käyttäjät uudelleenkartoittavat usein CapsLock -näppäimensä näppäimeksi Ctrl, jotta voivat kirjoittaa Emacs-komentoja mukavammin (ja välttääkseen rasitusvammoja!). Kun aloitat Emacsin näppäinkomentojen säännöllisen käytön, neuvomme sinua tekemään samoin.
Kaksi perusnäppäinkomentoa liikkumiseen ympäriinsä komentorivillä Emacs-tilassa ovat Ctrl + f ja Ctrl + b. Ne siirtävät kursoria yhden merkin oikealle tai vasemmalle:
Ctrl + f | Liiku eteenpäin yksi merkki |
Ctrl + b | Liiku taaksepäin yksi merkki |
Tietenkin voit tehdä samat kursorinliikkeet käyttäen nuolinäppäimiä näppäimistölläsi. Kuten yllä mainittiin, voit käyttää Emacsin näppäinkomentoja Ctrl + f ja Ctrl + b ollaksesi tehokkaampi, sillä käsiesi ei tarvitse lähteä näppäimistön kirjainosasta. Et välttämättä huomaa nopeuseroa heti (varsinkaan jos et ole vielä nopea kirjoittaja), mutta kun saat enemmän kokemusta komentorivin käytöstä, et varmasti tahdo enää koskea nuolinäppäimiin!
Seuraava taulukko listaa joitain näppäinkomentoja, joiden avulla voit navigoida komentorivillä vielä nopeammin:
Alt + f | Liiku yksi sana eteenpäin |
Alt + b | Liiku yksi sana taaksepäin |
Ctrl + a | Liiku rivin alkuun |
Ctrl + e | Liiku rivin loppuun |
Käyttämällä ylläolevassa taulukossa esiteltyjä näppäinkomentoja voit nopeuttaa komentorivieditointia dramaattisesti. Jos esimerkiksi kirjoitat väärin hyvin pitkän tiedostonimen, näppäinkomento Alt + b vie kursorin takaisin sanan alkuun - hankalien merkki kerrallaan tapahtumien siirtymisten tekeminen nuolinäppäimillä on tarpeetonta. Näppäimet home ja end ovat vaihtoehto näppäinkomennoille Ctrl + a ja Ctrl + e.
Kaksi yleisimmin käytettyä muokkauskomentoa ovat seuraavat:
Ctrl+t | Vaihda kursoria ennen oleva merkki ja kursorin alla/jälkeen oleva merkki |
Alt+t | Vaihda kursorin jälkeen oleva sana ja kursorin alla/jälkeen oleva sana |
Näihin kahteen komentoon menee jonkin aikaa tottua, mutta molemmat ovat erittäin käyttökelposia. Komennon Ctrl + t päätoiminto on korjata kirjoitusvirheitä, komentoa Alt + t käytettiin usein "vetämään" sanaa eteenpäin komentorivillä. Katso seuraavaa komentoriviä (alleviivaus merkitsee kursorin sijaintia):
$ echo yksi_kaksi kolme neljä
Jos painat tässä tilanteessa näppäimiä Alt + t, sana ennen kursoria ("yksi") vaihtuu sanaksi kursorin jälkeen ("kaksi"). Kokeile! Tulos näyttää tältä:
$ echo kaksi yksi_kolme neljä
Voit huomata kaksi asiaa. Ensinnäkin sanojen "yksi" ja "kaksi" järjestys on käännetty. Toiseksi kursori on siirtynyt eteenpäin sanan "yksi" mukana. Nyt kursorin siirtymisen hyvä puoli on se, että voit painaa Alt + t vielä kerran, jotta "yksi" vaihtaa paikkaa seuraavan sanan "kolme" kanssa:
$ echo kaksi kolme yksi_neljä
Painamalla näppäimiä Alt + t toistuvasti, voit "vetää" sanaa eteenpäin, kunnes se on komentorivin lopussa. (Voit tietenkin tehdä saman yksittäiselle kirjaimelle käyttäen näppäimiä Ctrl + t.)
Ensin näiden kahden paikanvaihtokomennon toiminta voi vaikuttaa hieman hämmentävältä. Leiki niillä jonkin aikaa, ja totut siihen.
Tässä on näppäriä komentoja tekstin poistamiseen:
Ctrl + d | Poistaa merkin kursorin alta |
Alt + d | Poistaa kaiken tekstin kursorista nykyisen sanan loppuun |
Alt + askelpalautin | Poistaa kaiken tekstin kursorista nykyisen sanan alkuun asti |
Komennot Alt + d ja Alt + askelpalautin eivät poista tekstiä, vaan tappavat sen. Tappaminen eroaa poistamisesta siinä, että poistettu teksti on kadonnut pysyvästi, mutta tapetun tekstin voi palauttaa henkiin käyttämällä seuraavaa komentoa:
Ctrl + y | Palauttaa aiemmin tapetun tekstin |
Voimme nähdä esimerkin avulla miten tämä toimii:
$ echo yksi kaksi
Kursorin sijainnin osoittaa taas alaviiva. Jos painat tässä tilanteessa Alt + askelpalautin, sana "kaksi" ja sen jälkeen olevat välilyönnit tapetaan, jolloin komentorivi näyttää tältä:
$ echo yksi
Jos nyt painat näppäimiä Ctrl + y, tapettu teksti palautetaan takaisin komentoriville. Voit tehdä tämän monta kertaa. Jos painat Ctrl + y kolme kertaa, näet seuraavan rivin:
$ echo yksi kaksi kaksi kaksi
Kuten voit nähdä, tekstin tappaminen on paljolti samanlainen kuin leikkaustoiminto useimmissa nykyaikaisissa tekstinkäsittelyohjelmissa. Jos tekstiä ei tapeta vaan poistetaan (painamalla Ctrl + d), sitä ei voida palauttaa komentoriville. Ainoa tapa palauttaa se on käyttää peruuta-toimintoa, joka esitellään alla.
Seuraavassa on luultavasti tehokkaimmat komennot tekstin tappamiseen:
Ctrl + k | Tapa kaikki teksti kursorista rivin loppuun |
Ctrl + u | Tapa kaikki teksti kursorista rivin alkuun |
Kuten tavallista, paras tapa oppia nämä komennot on kokeilla niillä. Huomaat, että pitkien tekstinpätkien tappaminen, ja milloin tarpeellista, palauttaminen, voi säästää paljon aikaa.
Voit peruuttaa viimeisen tekemäsi muutoksen seuraavalla komennolla:
Ctrl + _ | Peruuta viimeinen muutos |
Vaihtoehtoinen tapa tehdä sama asia on painaa näppäimiä Ctrl + xu. (Paina x ja u vuorotellen, kun pidät näppäintä Ctrl pohjassa.)
Komentotulkki tallentaa viimeksi antamasi komennot. Tämä mahdollistaa aiemmin kirjoitettujen komentojen palauttamisen, jolloin voit välttyä kirjoittamasta niitä uudelleen. Tässä on tärkeimpiä komentoja komentotulkin komentohistoriassa suunnistamiseen:
Ctrl + p | Mene edelliseen komentoon historiassa |
Ctrl + n | Mene seuraavaan komentoon historiassa |
Ctrl + > | Mene historian loppuun |
Ctrl + r | Etsi historiasta aiemmin annettuja komentoja |
Ctrl + g | Peruuta hakeminen historiasta |
Katsotaanpa näiden komentojen toimintaa yksinkertaisen esimerkin avulla. Avaa komentotulkki ja kirjoita seuraavat komennot:
$ echo kaksi kaksi $ echo kolme kolme $ echo neljä neljä
Kun olet kirjoittanut nämä komennot, sinulle jää tyhjä komentorivi odottamaan syötettäsi. Paina nyt näppäimiä Ctrl + p. Voit nähdä, että viimeksi kirjoitettu komento näkyy komentorivilläsi: "echo neljä"
. Jos painat uudestaan Ctrl + p, siirryt pidemmälle "ylöspäin" komentohistoriassa, jolloin komentorivillä näkyy "echo kolme"
. Paina nyt Ctrl + n ja näet tulleesi takaisin komentoon "echo neljä"
: Ctrl + n toimii aivan kuin Ctrl + p, mutta toisin päin. Nuolinäppäimet ylös ja alas ovat vaihtoehdot näille.
Painettuasi näppäimiä Ctrl + p ja kenties Ctrl + n muutaman kerran, voit mennä takaisin komentoriville, jota kirjoitit ennen kuin aloitit historiassa navigoimisen. Voit tehdä tämän painamalla Ctrl + >.
Kuten voit havaita, komentorivin historia on vain pitkä lista viimeaikaisia komentoja. Voit siirtyä ylös ja alas listalla painamalla Ctrl + p ja Ctrl + n. Ja voit painaa näppäintä Enter enter milloin tahansa suorittaaksesi valitun komentorivin.
Koska komentorivin historia on vain pitkä lista, se on myös etsittävissä. Tämä tehdään useimmiten komennolla Ctrl + R. Oletetaanpa, että olet antanut komennot "echo kaksi"
, "echo kolme"
ja "echo neljä
". Yritä painaa Ctrl + R nyt. Voit nähdä, että uusi komentokehote ilmestyy, ja se sanoo "reverse-i-search". Jos kirjoitat kirjaimen "k", hyppäät välittömästi historian viimeiselle komentoriville, joka sisältää kirjaimen "k", joka on tietenkin "echo kolme". Sieltä voit käyttää komentoja Ctrl + p ja Ctrl + n navigoidaksesi historiassa, kuten aiemmin on mainittu. Tai voit muokata hakua kirjoittamalla toisen kirjaimen, esimerkiksi "a". Silloin hyppäät komentoon "echo kaksi", koska se on viimeisin komento, joka sisältää kirjaimet "a". Tai voit vain peruuttaa haun painamalla Ctrl + g.
Jos olet hieman eksyksissä käyttäessäsi komentotulkin historiatoimintoja, älä huolestu! Jos harjoittelet, opit pian siirtymään rutiinimaisesti edestakaisin komentotulkin historiassa, jolloin vältät pitkien komentorivien kirjoittamisen uudestaan.
Seuraava esimerkki näyttää sinulle, kuinka interaktiivinen editointi nopeuttaa valtavasti työtäsi. Oletetaanpa, että olet kirjoittanut seuraavan komentorivin:
$ echoo ne two three bash: echoo: command not found
Bash heittää virheen, koska komentoa "echoo" ei ole olemassa. Tarkoitit tietenkin komentoa "echo one two three". Ehkä yllätyt, että tarvitaan vain viisi näppäinkomentoa korjaamaan tämä virhe:
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.