Intro til Tmux

Et av de mest brukte verktøyene i webutviklingsprosessen er sikkert terminalen. Mens du jobber med et prosjekt, finner du ofte deg i stand til å bruke terminalen med flere faner åpne samtidig, en for å starte en lokal webserver, en annen fan for å administrere databasen, en annen for å kopiere filer og så videre. Dette kan snart bli rotete og vanskelig å håndtere. En løsning på dette problemet som fungerer bra for meg, er terminal multiplexeren, tmux.


Hva er Tmux

tmux er en terminal multiplexer: det muliggjør en rekke terminaler, som hver kjører et eget program som skal opprettes, åpnes og styres fra en enkelt skjerm.

Definisjonen ovenfor, tatt fra tmux Nettstedet er klart: Fra et terminalvindu kan vi starte og styre en rekke andre terminaler og i hver av dem kjøre en annen applikasjon eller et annet eksempel på en applikasjon.

tmux er utviklet på en klient-server modell. Dette bringer inn i konseptet av økter. En økt lagres på serveren som holder representasjonen av et vindu. Hvert vindu kan kobles til flere økter og flyttes mellom dem.

På den annen side kan flere klienter knyttes til hver økt. Så, en eller flere brukere kan koble til en tmux økt fra forskjellige datamaskiner og de deler samme informasjon på vinduet. Dette er ekstremt nyttig i undervisning eller samarbeid siden brukerne deler en tmux økt se samme informasjon på sine terminalvinduer.

Koble til en tmux økt er gjort ved å starte programmet med følgende kommando:

tmux vedlegg 

Når en bruker ønsker å avslutte terminaldelingsfunksjonen, brukes følgende kommando:

tmux løsne

Slik installerer du Tmux

tmux kjører på Linux og Mac. I øyeblikket du skriver denne artikkelen, er jeg ikke klar over en Windows-versjon av programmet.

For de fleste Linux-distribusjoner er det en pakke i deres lagre:

  • Ubuntu
  • Suse

På Arch (som jeg bruker), er installasjon ganske enkelt et spørsmål om å kjøre følgende kommando:

sudo pacman -S tmux

Etter installasjonen kan du starte tmux ved å utstede kommandoen tmux i et terminalvindu. Hvis du vil ha den kjørt automatisk for hver terminal økt, trenger du en liten konfigurasjon:

  • Gå til Innstillinger-menyen Rediger gjeldende profil og sett Kommando feltet til tmux som i skjermbildet nedenfor:

Hvis du er på Mac, kommer iTerm2 med tmux installert, og for å starte det, bør du utstede kommandoen: tmux.


Egenskaper

Etter installasjonen, hvis du starter et terminalvindu, er det eneste nye du vil merke, at det finnes en statuslinje nederst på skjermen:


La oss ta en titt på de vanligste funksjonene. For en liste over komplette funksjoner, se linkene i slutten av denne artikkelen.

Opprette paneler

Eller, med andre ord, å dele hovedvinduet. Først av alt må jeg si at hver tmux kommandoen er prefiks ved hjelp av følgende tastekombinasjon: . Dette kan endres, men vi lærer å konfigurere og tilpasse tmux senere.

Så, for å splitte et vindu vertikalt (eller i høyre og venstre rute), bør følgende kommando brukes:

%

og å dele vinduet i horisontale rutene du kan bruke:

"

Og resultatet skal se ut som følger:


Flytter fra en rute til en annen og posisjoneringspaneler

For å flytte markøren fra en rute til den andre (aktiveringsrutene), brukes piltastene. Kommandoen ser slik ut:

[Opp, Ned, Høyre, Venstre]

Hvis du vil gå til den tidligere aktive ruten, kan du bruke følgende kommando:

;

Hvis du ikke er fornøyd med posisjonen til en rute, kan du også rotere rutene ved hjelp av kommandoen:

Endre størrelse på paneler

Når du er opprettet, kan du endre hver rute størrelse, i ett celle trinn, ved å bruke:

eller i fem celler trinn ved å bruke:

Lukke en rute

Når du vil lukke den nåværende ruten kan du bruke:

x

Opprett et nytt vindu

Noen ganger kan det være lurt å lage et annet vindu, for eksempel å jobbe med et annet prosjekt. Dette vinduet kan inneholde et helt annet sett med rutene med forskjellige programmer i hver av dem. For å gjøre dette, utsted følgende kommando:

c

Så hvis du vil bytte til neste vindu kan du bruke:

n

Og du kan bytte til forrige vindu ved å bruke:

p

Eller du kan velge vinduet interaktivt med:

w

Lukker et vindu

For å lukke vinduet som åpnes, bruker du:

&

Kopimodus

Anta at du har utstedt en kommando på terminalen, og utgangen av kommandoen passer ikke på en skjerm, så du må rulle opp for å se hele utgangen. Hvis du prøver å trykke på Opp nøkkel, dette vil ikke rulle deg opp, da det bare vil vise deg kommandoboken din. For å bla opp på skjermen, bruk følgende kommando:

[

Og deretter treffer du en av følgende nøkler: Opp, Ned, PgUp eller PgDn å bla opp eller ned.

Også, når du er i denne modusen, kan du kopiere tekst fra historien og deretter lime den inn med:

]

For å avslutte dette sett inn modus, bare treff esc.

Nå er det mange andre kommandoer knyttet til ulike nøkler. Du kan liste alle nøkkelbindingene ved å utstede:

?

Konfigurere Tmux

tmux er svært konfigurerbar. Konfigurasjonsfilen er enten /etc/tmux.conf for systeminnstillinger eller (anbefalt) ~ / .Tmux.conf for brukerspesifikke innstillinger.

Endre prefiksnøkkelen

En av de første tingene som de fleste brukere endrer er kartlegging av prefiksnøkkelen (siden ser ikke ut til å være så praktisk). De fleste brukere endrer det til . Dette kan gjøres slik:

sett -g prefiks C-en ubindende C-b bind C-a send-prefiks

De -g alternativet i den første kommandoen forteller tmux at dette er et globalt alternativ, noe som betyr at dette er angitt for alle vinduer og økter.

Endre nøkkelbindingene

Noen brukere kan foretrekke Vi eller Emacs som bindinger for sentrale handlinger. Dette gjøres ved å bruke:

sett -g status-taster vi setw -g modus-taster vi

De setw kommandoen, angir alternativet for vinduet (påvirker alle rutene i et vindu).

Statuslinje

Du kan utføre forskjellige konfigurasjoner av statuslinjen: du kan slå den på eller av, du kan endre bakgrunns- og forgrunnsfarge, du kan endre hvilken informasjon som vises i den, osv..

For å slå av statuslinjen, utsted følgende kommando:

sett -g status av

Eller du kan prøve noe slikt:

sett -g status-bg blå sett -g status-fg hvit setw -g status-venstre #H: #S ved #W: #T

... som endrer statuslinjens bakgrunn til blå, tekstfargen til hvit og viser til venstre for statuslinjen vertsnavnet til localhost, etterfulgt av et kolon og øktnavn etterfulgt av "at" -strengen og vinduets navn, en kolon, og til slutt pane tittelen.

Du kan også vise statuslinjen nederst eller øverst i vinduet:

sett -g statusposisjon [bunn | topp]

For ytterligere informasjon om konfigurasjon og andre konfigurasjonsalternativer, kan du sjekke opsjonsdelen i håndboken.


Konklusjon

Jeg håper du har funnet denne introduksjonen til tmux nyttig for å forbedre den terminale arbeidsflyten din. Jeg har presentert her bare noen få kommandoer som jeg bruker oftest. Hvis du vil lære mer, er det flere ressurser som er tilgjengelige. Jeg anbefaler på det sterkeste:

  • Tmux manualen
  • Og tmux på Arch wiki