Du går glip af en bedre Mac-terminaloplevelse

iTerm vs. Hyper - min nuværende konfiguration af hver

Mac-kommandolinjeapps, plugins, tweaks og tip til at gøre din terminal nøjagtigt, som du vil have den til: funktionel, minimal, æstetisk eller alt det ovenstående - alle vil finde noget her.

Da jeg forlod Linux-verdenen og skiftede på fuld tid til OS X for lidt over et år siden, var det, jeg savnede mest, det robuste samfund og et væld af muligheder omkring tilpasninger, justeringer og personalisering af operativsystemet og arbejdsstationen. Det følgende er en guide, der skitserer søgen efter at opbygge min perfekte OS X-shell - en kommandolinieoplevelse både funktionel og smuk, uden at ofre det ene for det andet. Jeg håber, at mine fodspor vil spare nogle ligesindede rejsende lidt tid og frustration på deres rejse mod en perfekt terminaloplevelse.

Mile 1: Valg af en Shell-applikation

kredit: hyper.is

Det første trin på denne rejse, og et vigtigt, er at vælge en terminalemuleringsapplikation. I OS X's verden er der to dominerende spillere: iTerm og Hyper.

Denne artikel er ikke beregnet til at være en programgennemgang, så jeg vil ikke gå dybt ind i detaljer omkring verken valg af funktionalitet eller avanceret brug, men jeg vil sige følgende:

Generelt vil iTerm være den mere performante mulighed for de to. iTerm har en virkelig forbløffende vifte af muligheder, genveje og muligheder. Hvis du laver tungt arbejde på Mac-kommandolinjen, regelmæssigt bruger tmux eller kræver mere avanceret konfigurerbarhed, vil dette sandsynligvis være den bedre pasform. Find iTerm her.

Hyper er en nyere spiller på dette felt, og selvom den har mindre funktionalitet end iTerm, er det uden tvivl den smukkere terminaloplevelse. Dette er ikke for at sige, at iTerm er grimt, men Hyper's styling er bare..nice.

Hyper er bygget på webteknologier (HTML, CSS, JS) og har en robust samling af temaer, et forskelligt bibliotek med let installerede plugins og løbende brugerbidrag gør dette til et sjovt og interessant valg. Hyper-teamet har netop frigivet version 2- stigende hastighed, tilføjet nyttige UX-forbedringer, yderligere forenklet installation af plugin og mere. Tjek Hyper her.

Enten af ​​valget her vil være et godt valg. Begge indstillinger kan konfigureres til at skabe en smuk, meget funktionel terminaloplevelse. Jeg vil anbefale at prøve begge- Jeg holder begge installeret og bruger hver til forskellige formål.

Bemærk: Hvis du ikke kan lide en af ​​nedenstående indstillinger, eller foretrækker at holde dig med indbyggede applikationer, fungerer den indbyggede terminal.app, der leveres med OS X, helt fint til det meste eller alt det, vi vil dække i resten af ​​artiklen.

Mile 2: Installation af din Unix Shell

Efter at have fastlagt hvilken terminalapplikation du vil bruge, er det næste trin at vælge et unix-shell. Dette er en nødvendig forudsætning for det meste af det, der vil følge.

Der er tre hovedvalg i denne afdeling: Bash (OS X standard), Zsh og Fish. Hvert valg har forskellige fordele og ulemper, men i forbindelse med denne artikel arbejder vi med zsh.

Z shell, eller zsh, har eksisteret siden 1990, og har en stor efterfølgende og en bred vifte af plugins, guider og bidragydere. Nogle fordele ved zsh inkluderer: forbedret udførelse, kommandohistorie, klodsning, genveje, variabel håndtering og mange andre. Hver af disse ting er værd at udforske og lære om en anden tid.

Zsh Installation:

Zsh leveres med OS X, men det er en ældre version. Jeg anbefaler at installere den nyeste version ved hjælp af Homebrew, Mac-pakkehåndteringen.

Hvis du ikke har hørt om Homebrew, eller ikke har det installeret, kan du finde det her.

  • For at installere zsh ved hjælp af Homebrew skal du indtaste følgende i din terminal:

bryg installere zsh zsh-kompletteringer

  • Bekræft installationen ved at indtaste følgende:

zsh - modstand

forventet resultat: 5.1.1 eller nyere.

  • Lav zsh til dit systems standard shell:

chsh -s $ (hvilket zsh)

  • Kontroller, at det fungerede:

gentager $ SHELL

forventet resultat: / bin / zsh

Hvis du bliver hængt op overalt under denne proces, eller har brug for yderligere hjælp, skal du kontrollere dette for at få flere oplysninger og en mere detaljeret installationsvejledning.

Efter installation af zsh, første gang zsh køres, vil det bede dig om en række spørgsmål vedrørende konfiguration. Følg prompten til slutningen, foretag ændringer, hvor det er ønsket. Ingen ændringer er nødvendige, dog - standarderne fungerer fint.

Mile 3: Valg af en ramme

kredit: oh-my-zsh

Efter installation af zsh åbnes en helt ny verden af ​​rammer, plugins og temaer. Langt mere end hvad der kan dækkes i denne artikel. Med henblik på denne artikel bruger vi Robby Russels oh-my-zsh som vores ramme. Det er enkelt at installere, har et robust funktionssæt og tilgir generelt brugervenlighed.

Hvis oh-my-zsh ikke er din kop te, fungerer en lignende ramme som Prezto helt fint i stedet for den. Alternativt, hvis du foretrækker et mere letvægtsalternativ, kan du holde fast ved kun en plugin manager, som Antigen, eller køre helt uden en ramme. Disse beslutninger er helt op til dig, og jeg vil opfordre dig til at lege med forskellige konfigurationer, rammer, plugins og ændringer for at bestemme, hvad der passer til din arbejdsgang og behov bedst.

Installation af oh-my-zsh:

Gå til oh-my-zsh-depotet på Github - her.

Følg de grundlæggende installationsinstruktioner i depotet, eller se nedenunder:

Installer via krølle:

Kør i din terminal:

sh -c "$ (curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Ovenstående kloner og installerer oh-my-zsh. Når du er færdig, er du klar til at komme i gang med at bruge den.

Oh-my-zsh-konfiguration:

Zsh-plugins kan tilføje alle mulige nyttige workflow-løsninger, sjove tweaks eller tilføje vigtig funktionalitet. Her er et par for at komme i gang:

zsh-nvm - zsh plugin til Node Version Manager (forudsat at du bruger Node.js). Download det her.

zsh-syntaks-fremhævning eller hurtig syntaks-fremhævning - tilføjer syntaks-fremhævning i realtid til kommandoer, mens de indtastes i terminalen - anbefales stærkt. Find det her.

git - genveje og løsninger til git-brugere. Sendes med oh-my-zsh.

Der er mange, mange flere plugins derude. Oh-my-zsh-skibe med en lang liste over dem også (se her). Igen er det op til personlig konfiguration - brug tid på at beslutte, hvad der fungerer bedst for dig.

Plugin-installation:

Denne del af guiden bringer os til et meget vigtigt stykke i zsh-konfigurationsprocessen: zsh-konfigurationsfilen, .zshrc.

Din .zshrc-fil skulle være blevet genereret første gang du kørte zsh og / eller under oh-my-zsh-installationen. Du kan finde det blandt de skjulte filer i dit hjemmekatalog.

Bemærk: For at aktivere skjult filvisning i dit hjemmekatalog, skriv dette i din terminal: standarder skriv com.apple.finder AppleShowAllFiles YES

.Zshrc-filen er det meste af vores hurtige konfiguration vil finde sted. Oh-my-zsh vil have genereret en standardkonfiguration med felter til tema, plugins, aliaser og mere.

Installation af et nyt plugin er en enkel proces. Hvis det er et plugin, der blev leveret med oh-my-zsh, skal du blot navigere til "plugins" -delen af ​​din .zshrc-fil og indtaste dens navn inden for parenteserne. Genindlæs din terminal ved at skrive zsh, og den skal være funktionel.

For tredjeparts-plugins anbefaler jeg at følge installationsinstruktionerne i plugins depot. Imidlertid er installationsprocessen for de fleste tredjeparts plugins temmelig ligetil og bør gå som følger:

  1. Klon plugin, og flyt de klonede filer til din / brugerdefinerede mappe inden for oh-my-zsh-installationen, som findes i dit hjemmekatalog.
  2. I din .zshrc-fil skal du tilføje plugin-navnet i parenteserne i 'plugins'-feltet, som vi gjorde ovenfor.
  3. Genindlæs zsh, og det skal være klar til brug.
Bemærk: Hvis du støder på nogen sammenhænge i denne proces, bedes du henvise til oh-my-zsh-depotet eller tredjepart-plugins depotet. De fleste af dine fejlfindingsbehov skal adresseres der. Derudover er der et stort samfund omkring brugen af ​​disse værktøjer - hvis der er noget, du ikke umiddelbart kan finde i depoterne, vil en hurtig googlesøgning sandsynligvis vise en lang liste over mennesker, der stiller og løser de samme spørgsmål, du har.

Mile 4: Spacehip Prompt Installation

kredit: rumfartskontrol

Nu hvor vi har installeret zsh, en ramme og vores plugins, kan vi nu komme i gang med at konfigurere vores kommandolinie via en tema / brugerdefineret promp.

Din kommandolinjemeddelelse kan være, hvad du vil have den til at være minimal, ordbogen, informativ, smuk, pragmatisk eller alt det ovenstående. Til vores formål har jeg valgt et stort zsh-prompt-tema, rumskib. Det er den bedste kombination af hver af de attributter ovenfor, som jeg hidtil har stødt på.

Spaceship Prompt's github-opbevaring findes her.

Spaceship-hurtig installation:

Klon depotet:

git klon https://github.com/denysdovhan/spaceship-prompt.git "$ ZSH_CUSTOM / temas / rumskib-prompt"

Symlink spachip.zsh-tema til dit oh-my-zsh bibliotek med tilpassede temaer:

ln -s "$ ZSH_CUSTOM / temaer / rumskib-prompt / rumskib.zsh-tema" "$ ZSH_CUSTOM / temaer / rumskib.zsh-tema"

Indstil ZSH_THEME = "rumskib" i dit .zshrc 's "tema" -afsnit.

Tilpasning af rumskibets prompt:

Nu, hvor du har din prompt installeret, er der en lang liste med tilpasninger og justeringer, der kan laves, så de passer til din arbejdsgang eller stil. Deres depot har et stort sæt dokumenter, der viser dig nogle af mulighederne. Brug lidt tid på at se eksemplerne, eller lad det være som det er - standardindstillingerne er store.

Min personlige prompt er konfigureret til at vise nogle tilpassede ikoner og oplysninger:

Spaceship-prompt i iTerm2

Ovenstående skulle give dig en idé om nogle af de seje muligheder, du kan skabe med rumskib. For at få din prompten til at se ud som min, skal du følge et par trin:

Skrifttypen, jeg bruger iTerm, er Monoid Nerd-skrifttype. I Hyper bruger jeg nerdefonter 'PowerlineSymbols og mononoki Nerd Font Mono. Brug dog de skrifttyper, du personligt kan lide, dog - en nerdefonttype kræves for at bruge Spaceship-prompten korrekt. Nørde-skrifttyper er specielt lappet til at omfatte alle de store symboler / glyfer diskuteret i denne artikel.

Find nørde skrifttyper her og her.

  1. Sådan installeres nerdefonter:
  • Manuel installation - download / klon fontfilerne. Nerd-skrifttypen har detaljerede instruktioner om download af enten hele pakken eller individuelle skrifttyper.
  • Naviger i den nyligt downloadede font (s) 'katalog. Find de faktiske fontfiler, der typisk slutter på .ttf - åbner samtidig det oprindelige 'Font Book' -program, der leveres med OS X.
  • Træk font-filerne (.ttf) direkte til Fontboks liste over skrifttyper. Din markør skal skifte til et grønt '+' symbol ved trækning. Slip markøren, og dine skrifttyper installeres.

3. Yderligere indstillinger for skrifttypeinstallation er detaljerede i nith-skrifttyperne Github-arkivet og inkluderer installation via Homebrew, installation af script og download ad hoc curl. Hver har deres fordele / advarsler - Jeg anbefaler at læse depotet for at beslutte, hvilket er bedst / bedst til dine behov.

4. Åbn din terminalemulator (iTerm eller Hyper), når du har downloadet og installeret dine nørde-skrifttyper, og tryk på Kommando +,. Dette åbner dine brugerpræferencer. I iTerm kommer dette i form af et GUI-dialogvindue. I Hyper åbner dette din Hyper-konfigurationsfil, .hyper.js i din standardteksteditor.

  • I iTerm kan skrifttyper indstilles i afsnittet 'Profiler' -> {profilens navn} -> 'Tekst'. I 'Tekst' navigerer du til delen 'Font'. Skift den primære skrifttype til din nye nerdefonttype, og marker afkrydsningsfeltet 'Brug en anden skrifttype til ikke-ASCII-tekst.' Marker dette felt samt 'Brug ligaturer'. Indstil også den sekundære skrifttype til en nerdefont. Se nedenunder:
Din konfiguration skal være ens.

I Hyper skal du navigere til taggen fontFamily i dit .hyper.js-konfigurationsfil i din teksteditor. Udskift standardindstillingerne med navnene på din (n) nerd font (er).

Bemærk: Hvis du ikke er programmør, skal du være forsigtig med din brug af anførselstegn. Navn på flere ordskrifter med mellemrum har brug for deres egne omkringliggende citater.

Din konfiguration skal ligne nedenunder, specifikt den del, der er omgivet i den blå boks (du kan se bort fra de andre felter):

afbilledet: vs kode med monoid nerd font, materiale mørkere syntaks tema.

Nu hvor du har Spaceship-prompten og nørde skrifttyper installeret og valgt inden for din terminal, kan du begynde at tilpasse prompten:

  1. På webstedet med nørde-skrifttyper, omtrent to tredjedele af vejen ned, er der et rullbart felt, der viser glyfer / ikoner og deres tilsvarende koder. Alle disse ikoner kan bruges i din prompt ved hjælp af rumskib og en nerdefont. Rul igennem og find en eller to, du kan lide.
Bemærk: De fire-tegnede glyph / icon-koder skal foregå med \ u, som vist nedenfor.
  1. Indsæt følgende i din .zshrc-fil efter afsnittet "tema":
SPACESHIP_PROMPT_ADD_NEWLINE =”true”
SPACESHIP_CHAR_SYMBOL = ”\ uf0e7"
SPACESHIP_CHAR_PREFIX =”\ uf296"
SPACESHIP_CHAR_SUFFIX = (““)
SPACESHIP_CHAR_COLOR_SUCCESS =”gul”
SPACESHIP_PROMPT_DEFAULT_PREFIX =”$ USER”
SPACESHIP_PROMPT_FIRST_PREFIX_SHOW =”true”
SPACESHIP_USER_SHOW =”true”

Ovenstående får din prompten til at se identisk med minen, hvis du antager, at du har en nerdefont installeret. Hvis du gerne vil ændre ikonerne i prompten, er SPACESHIP_CHAR_SYMBOL = og SPACESHIP_CHAR_PREFIX = felterne, hvor du vil tilslutte ikonkoderne fra nerdefonter, som jeg bemærkede ovenfor. Du kan tilføje logoer fra programmeringssprog, rammer og biblioteker. Du finder også glyfer, pile, lynskruer, meteorer - for dem, der er besat af tilpasning, er der masser at arbejde med.

4. Et andet element, der kan være interessant i min terminal, er de farvede mappe / filikoner. Jeg bruger en rubin perle kaldet "colorls" - som du kan finde her.

Colorls installation:

Colorls tilføjer, når den først er installeret, nogle glyfer til din ls-kommando, og kan konfigureres til at vise informative rapporter, omjustere og rekonfigurere output fra ls, blandt mange andre muligheder. Følg installationsinstruktionerne i depotet.

For at få colorls til at udskrive hver gang ls-kommandoen bruges, skal du bruge et alias i din .zshrc-fil.

For at konfigurere dette skal du gå ind i din .zshrc-fil og rulle til bunden.

Indsæt følgende:

alias ls = 'colorls - lys - sort-dirs - rapport'
alias lc = 'colorls - træ - lys'

Dette får dine ls til at være identiske med mine. Derudover vil input af kommandoen lc udskrive en trævisningsversion af ls. Som en advarsel anbefaler jeg kun at gøre dette i mindre mapper - det kan blive langsomt, mens der indekseres større mapper.

Afsluttende bemærkninger til min prompt:

I iTerm bruger jeg et farveskema kaldet termnk - du kan finde det her.

Derudover findes en lang liste over iTerm-farvetemaer her.

For Hyper er min konfiguration som følger:

plugins: [
”Hyper-statusline”,
”HyperTerm-fed-fane”,
”Hyper-tabs-forstærket”,
”Hyper-papercolor”,
”Hyper-opacitet”,
”Hyper-simple-highlight-aktiv-session”,
”Hypercwd”,
”Hyper-rude”,
”Hyper-search”
],

Mile 5: Konklusion: tip, ressourcer og hvor man skal hen herfra

På dette tidspunkt bør du have en fungerende zsh-terminal med en god start på din egen brugerdefinerede konfiguration. Efter at have set min personlige konfiguration og potentielt emulere dele af den, skal du nu have en god idé om nogle af de smukke og uendelige muligheder, der er tilgængelige for zsh shell på Mac. Dette er dog kun begyndelsen på rejsen. Denne vejledning er ikke beregnet til at være udtømmende - der er så mange flere muligheder og fantastiske ressourcer til at finpusse din skal og arbejdsgang til, hvad du vil have den til at se ud, føle og udføre. Denne sidste del er dedikeret til at skitsere nogle store ressourcer til at fortsætte din læring og fortsætte med at udforske herfra.

Anbefalet læsning:

Der er så mange flere fantastiske zsh-plugins, der kan hjælpe med søgning, grepping, tilføjelse af pauseskærme til din terminal som pipes.sh eller informative on-load-anmodninger som Neofetch. Jeg anbefaler at læse igennem og finde nogle flere plugins, der passer til din arbejdsgang.

Tilsvarende et sammensætning af nyttige ressourcer relateret til alle ting zsh.

Et samfund fokuseret på risning / tilpasning af alle ting Unix. Mens Linux er den dominerende kraft her, vil en hurtig søgning efter 'OSX' give dig nogle inspirerende eksempler.

Som bemærket en kurateret liste over terminalrammer, udvidelser og ressourcer. Dette er en god reference - stærkt anbefalet.

Et interaktivt testdrev-program til forhåndsvisning af nogle af de bedste programmerings skrifttyper, der findes. De fleste / alle er gratis og har en lappet version til download fra nørde skrifttyper.

Den endelige liste over Hyper-temaer og plugins. Hvis du beslutter at bruge Hyper, skal dette være et af dine første stop.

Konklusion:

Fortsæt med at udforske og arbejde på din terminaloplevelse. At blive begejstret for, hvordan din kommandolinje ser ud og føles, vil hjælpe dig med at blive mere begejstrede for at lære at bruge det, om programmering (hvis relevant) og det er bare sjovt.

Efterhånden som flere brugere kommer ind i verdenen for tilpasning af kommandolinjer, er det sikkert, at flere muligheder og innovationer følger. På trods af at Linux generelt har mere støtte til denne type personalisering, håber jeg, at dette har åbnet nogle læsers øjne for nogle af de fantastiske terminalkonfigurationer, der er mulige i OS X.

Se mit andet arbejde, der dækker Mac-ikon og docktilpasning her.