credit: Efter att ha installerat zsh öppnar sig en helt ny värld av ramverk, plugins och teman. Mycket mer än vad som kan täckas inom ramen för den här artikeln. I den här artikeln kommer vi att använda Robby Russels oh-my-zsh som vårt ramverk. Det är enkelt att installera, har en robust funktionsuppsättning och är generellt förlåtande i användbarhet.
Om oh-my-zsh inte är din kopp te kommer ett liknande ramverk som Prezto att fungera utmärkt i stället. Alternativt, om du föredrar ett mer lättviktigt alternativ, kan du hålla dig till endast en insticksprogramshanterare, som Antigen, eller köra utan ramverk helt och hållet. Dessa beslut är helt och hållet upp till dig, och jag uppmuntrar dig att leka med olika konfigurationer, ramverk, insticksprogram och ändringar för att avgöra vad som passar ditt arbetsflöde och dina behov bäst.
Installation av oh-my-zsh:
Hoppa upp till oh-my-zsh repository på Github – här.
Följ de grundläggande installationsinstruktionerna i arkivet, eller se nedan:
Installera via curl:
Kör i din terminal:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Ovanstående kommer att klona och installera oh-my-zsh. När du är klar är du redo att börja använda den.
Oh-my-zsh-konfiguration:
Zsh-plugins kan lägga till alla typer av användbara arbetsflödeslösningar, roliga finjusteringar eller lägga till viktig funktionalitet. Här är några för att komma igång:
zsh-nvm
– zsh-plugin för Node Version Manager (förutsatt att du använder Node.js). Ladda ner det här.
zsh-syntax-highlighting
eller fast-syntax-highlighting
– lägger till syntaxmarkering i realtid för kommandon medan de skrivs i terminalen – rekommenderas starkt. Hitta den här.
git
– genvägar och lösningar för git-användare. Levereras med oh-my-zsh.
Det finns många, många fler plugins där ute. Oh-my-zsh levereras med en lång lista av dem också (se här). Återigen är detta upp till personlig konfiguration – ägna tid åt att bestämma vilka som kommer att fungera bäst för dig.
Plugininstallation:
Denna del av guiden för oss till en mycket viktig del i zsh-konfigurationsprocessen: zsh-konfigurationsfilen, .zshrc
.
Din .zshrc
-fil bör ha genererats första gången du körde zsh och/eller under oh-my-zsh-installationen. Du hittar den bland de dolda filerna i din hemkatalog.
Note: för att aktivera visning av dolda filer i din hemkatalog skriver du detta i din terminal: defaults write com.apple.finder AppleShowAllFiles YES
Den .zshrc
-filen är den fil där det mesta av vår promptkonfiguration kommer att ske. Oh-my-zsh kommer att ha genererat en standardkonfiguration, med fält för tema, insticksprogram, alias med mera.
Installation av ett nytt insticksprogram är en enkel process. Om det är ett insticksprogram som levererades med oh-my-zsh, navigerar du helt enkelt till ”plugins”-delen av din .zshrc
-fil och skriver dess namn inom parenteserna. Ladda om din terminal genom att skriva zsh
och det borde fungera.
För insticksprogram från tredje part rekommenderar jag att du följer installationsinstruktionerna i insticksprogrammets arkiv. Installationsprocessen för de flesta insticksprogram från tredje part är dock ganska okomplicerad och bör gå till på följande sätt:
Klona insticksprogrammet och flytta de klonade filerna till din /custom
-mapp inom oh-my-zsh-installationen, som du hittar i din hemkatalog.
I din .zshrc
-fil lägger du till insticksmodulets namn inom parenteserna i fältet ”plugins”, som vi gjorde ovan.
Reload zsh, så bör det vara redo att användas.
Note: if you run into any hangups in this process, please refer to the oh-my-zsh repository, or the third party plugin’s repository. Most of your troubleshooting needs should be addressed there. Additionally, there is a large community surrounding the use of these tools- if there is something you can’t immediately find in the repositories, a quick google search will likely turn up a long list of people asking and solving the same questions you have.
Mile 4: Spaceship Prompt Installation
credit: spaceship prompt
Now that we have installed zsh, a framework, and our plugins, we can now get to work configuring our command line via a theme/custom prompt.
Din kommandoradsprompt kan vara vad du vill att den ska vara – minimal, utförlig, informativ, vacker, pragmatisk eller allt av ovanstående. För våra syften har jag valt ett bra tema för zsh-prompten, Spaceship. Det är den bästa kombinationen av var och en av attributen ovan som jag har stött på hittills.
The Spaceship Prompt’s github repository kan hittas här.
Spaceship prompt installation:
Clone the repository:
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
Symlink spaceship.zsh-theme
to your oh-my-zsh custom themes directory:
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Sätt ZSH_THEME="spaceship"
i din .zshrc
s sektion ”theme”.
Anpassning av prompt i rymdskepp:
När du nu har installerat din prompt finns det en lång lista med anpassningar och finjusteringar som kan göras för att passa ditt arbetsflöde eller din stil. Deras repository har en bra uppsättning dokument som visar dig några av möjligheterna. Spend some time viewing the examples, or leave it as-is — the defaults are great.
My personal prompt is configured to display some custom icons and information:
Spaceship prompt in iTerm2
The above should give you an idea of some of the cool possibilities that you can create with Spaceship. To get your prompt looking like mine, a few steps must be followed:
The font I’m using iTerm is Monoid Nerd Font
. In Hyper I am using nerd fonts’ PowerlineSymbols
and mononoki Nerd Font Mono
. Use whichever fonts you personally like, however— a nerd font is required to properly use Spaceship prompt. Nerd fonts är speciellt patchade för att inkludera alla de fantastiska symboler/glyfer som diskuteras i den här artikeln.
Finn nerd fonts här och här.
För att installera nerd fonts:
Manuell installation – ladda ner/klona typsnittsfilerna. I nerd fonts repository finns detaljerade instruktioner om hur du laddar ner antingen hela paketet eller enskilda typsnitt.
Navigera in i katalogen för det eller de nyligen nedladdade typsnitten. Hitta de faktiska teckensnittsfilerna, som vanligtvis slutar i .ttf
– öppna samtidigt det ursprungliga programmet ”Font Book” som levereras med OS X.
Drag teckensnittsfilerna ( .ttf
) direkt in i Font Book:s lista över teckensnitt. Din markör bör ändras till en grön ”+”-symbol när du drar. Släpp markören och dina teckensnitt installeras.
3. Ytterligare alternativ för installation av teckensnitt finns beskrivna i Github-arkivet för nerd fonts, och inkluderar installation via Homebrew, installationsskript och ad hoc curl-hämtning. Var och en av dem har sina fördelar/avvikelser – jag rekommenderar att du läser arkivet för att avgöra vilket som är enklast/bäst för dina behov.
4. När du har laddat ner och installerat dina nerd-teckensnitt öppnar du din terminalemulator (iTerm eller Hyper) och trycker på Command + ,
. Detta kommer att öppna dina användarinställningar. I iTerm kommer detta att ske i form av ett GUI-dialogfönster. I Hyper öppnas din Hyper-konfigurationsfil, .hyper.js
i din standardtextredigerare.
I iTerm kan teckensnitt ställas in i ”Profiler” -> {namn på profil} -> avsnittet ”Text”. I avsnittet ”Text” navigerar du till avsnittet ”Font”. Ändra det primära typsnittet till ditt nya nördtypsnitt och kryssa i rutan ”Använd ett annat typsnitt för icke-ASCII-text”. Markera den här rutan, liksom rutan ”Använd ligaturer”. Ställ in det sekundära teckensnittet till ett nördteckensnitt också. See below:
Your configuration should be similar.
In Hyper, within your .hyper.js
configuration file in your text editor, navigate to the fontFamily
tag. Replace the defaults with the names of your new nerd font(s).
Note: if you are not a programmer, be careful with your use of quotation marks. Multiple word font names with spaces will need their own surrounding quotes.
Your configuration should look something like the below, specifically, the portion surrounded in the blue box (you may disregard the other fields):
pictured: vs code with monoid nerd font, material darker syntax theme.
Now that you have Spaceship prompt and nerd fonts installed and selected within your terminal, you can begin customizing the prompt:
Within the nerd fonts website, roughly two-thirds of the way down, there is a scrollable field that displays glyphs/icons and their corresponding codes. Any of these icons can be used in your prompt using Spaceship and a nerd font. Scroll through and find one or two that you like.
Note: the four-character glyph/icon codes must be preceded by \u
, as shown below.
I din .zshrc
-fil klistrar du in följande efter avsnittet ”theme”:
SPACESHIP_PROMPT_ADD_NEWLINE=”true” SPACESHIP_CHAR_SYMBOL=” \uf0e7" SPACESHIP_CHAR_PREFIX=”\uf296" SPACESHIP_CHAR_SUFFIX=(" ") SPACESHIP_CHAR_COLOR_SUCCESS=”yellow” SPACESHIP_PROMPT_DEFAULT_PREFIX=”$USER” SPACESHIP_PROMPT_FIRST_PREFIX_SHOW=”true” SPACESHIP_USER_SHOW=”true”
Ovanstående kommer att få din prompt att se ut som min, förutsatt att du har installerat ett nördtypsnitt. Om du vill ändra ikonerna i prompten är det i fälten SPACESHIP_CHAR_SYMBOL=
och SPACESHIP_CHAR_PREFIX=
som du ska sätta in ikonkoderna från nördtypsnitt som jag noterade ovan. Du kan lägga till logotyper från programmeringsspråk, ramverk och bibliotek. Du hittar också glyfer, pilar, blixtar, meteorer – för dem som är besatta av anpassning finns det mycket att jobba med.
4. En annan sak som kan vara av intresse inom min terminal är de färgade ikonerna för mappar/filer. I’m using a ruby gem called ”colorls”- which you can find here.
Colorls installation:
Colorls, once installed, adds some glyphs to your ls
command, and can be configured to show informative reports, realign and reconfigure the output of ls
, among many other options. Follow the installation instructions within the repository.
To get colorls to print every time the ls
command is used, you will need to use an alias within your .zshrc
file.
To configure this, head into your .zshrc
file, and scroll to the very bottom.
Paste the following:
alias ls=’colorls — light — sort-dirs — report’ alias lc=’colorls — tree — light’
This will get your ls
looking identical to mine. Additionally, inputting the lc
command will print a tree-view version of ls
. Som en varning rekommenderar jag bara att man gör detta på mindre kataloger – det kan bli långsamt när man indexerar större mappar.
Slutanmärkningar om min Prompt:
I iTerm använder jag ett färgschema som heter termnk
– du kan hitta det här.
Det finns dessutom en lång lista över färgteman i iTerm här.
För Hyper är min konfiguration följande:
plugins: ,
Mile 5: Slutsats: Vid det här laget bör du ha en fungerande zsh-terminal med en bra start på din egen anpassade konfiguration. Efter att ha sett min personliga konfiguration, och eventuellt emulerat delar av den, bör du nu ha en god uppfattning om några av de vackra och oändliga alternativ som finns för zsh-skalet på Mac. Detta är dock bara början på resan. Den här guiden är inte tänkt att vara uttömmande – det finns så många fler möjligheter och fantastiska resurser för att justera ditt skal och arbetsflöde till vad du vill att det ska se ut, kännas och fungera som. Denna sista del är tillägnad att beskriva några fantastiska resurser för att fortsätta ditt lärande och fortsätta utforska härifrån.
Rekommenderad läsning:
Det finns så många fler fantastiska zsh-plugins som kan hjälpa till med att söka, greppa, lägga till skärmsläckare till din terminal som pipes.sh, eller informativa on-load prompts som Neofetch. Jag rekommenderar att du läser igenom och hittar några fler plugins som passar ditt arbetsflöde.
Samma, ett kompendium av användbara resurser relaterade till allt som har med zsh att göra.
En gemenskap som fokuserar på ricing/anpassning av allt som har med Unix att göra. Linux är visserligen den dominerande kraften här, men en snabb sökning på ”OSX” ger dig några inspirerande exempel.
Som sagt, en lista över ramverk, tillägg och resurser för Terminal. Detta är en bra referens – rekommenderas starkt.
En interaktiv testkörningsapplikation för att förhandsgranska några av de bästa tillgängliga teckensnitten för programmering. De flesta/alla är gratis och har en patchad version för nedladdning från nerd fonts.
Den definitiva listan över Hyper themes & plugins. Om du bestämmer dig för att använda Hyper bör detta vara ett av dina första stopp.
Slutsats:
Fortsätt att utforska och arbeta med din terminalupplevelse. Att bli entusiastisk över hur din kommandorad ser ut och känns kommer att hjälpa dig att bli mer entusiastisk över att lära dig att använda den, om programmering (om tillämpligt), och är bara roligt.
När fler användare ger sig in i världen av kommandoradsanpassning kommer säkert fler alternativ och innovationer att följa. Trots att Linux generellt sett har mer stöd för den här typen av personalisering hoppas jag att detta har öppnat några läsares ögon för några av de fantastiska terminalkonfigurationer som är möjliga i OS X.
Se mitt andra arbete som täcker Mac-ikonen & dockanpassning här.