Kihagysz egy jobb Mac terminál-élményt

Amikor egy évvel ezelőtt elhagytam a Linux világát, és teljes munkaidőben átálltam az OS X-re, leginkább a robusztus közösség és a rengeteg lehetőség hiányzott az operációs rendszer és a munkaállomás testreszabása, finomítása és személyre szabása körül. Az alábbiakban egy útmutató következik, amely felvázolja a tökéletes OS X-héj megalkotására irányuló törekvésemet – egy egyszerre funkcionális és szép parancssori élményt, anélkül, hogy az egyiket feláldoznám a másikért. Remélem, hogy a lépéseim megspórolnak néhány hasonlóan gondolkodó utazónak némi időt és frusztrációt a tökéletes terminálélmény felé vezető úton.

1. mérföld: A Shell alkalmazás kiválasztása

credit: hyper.is

Az első és fontos lépés ezen az úton a terminálemulációs alkalmazás kiválasztása. Az OS X világában két meghatározó szereplő van: az iTerm és a Hyper.

Ez a cikk nem alkalmazásértékelésnek készült, így nem fogok mélyen belemenni a részletekbe egyik választás funkcionalitását vagy fejlett használatát illetően sem, de a következőket elmondom:

Általában az iTerm lesz a kettő közül a nagyobb teljesítményű opció. Az iTerm valóban elképesztő mennyiségű opcióval, parancsikonokkal és képességgel rendelkezik. Ha sokat dolgozik a Mac parancssorán, rendszeresen használja a tmuxot, vagy fejlettebb konfigurálhatóságra van szüksége, akkor valószínűleg ez lesz a jobb választás. Az iTermet itt találja.

A Hyper egy újabb szereplő ezen a területen, és annak ellenére, hogy kevesebb funkcióval rendelkezik, mint az iTerm, vitathatatlanul a szebb terminál élményt nyújtja. Ez nem azt jelenti, hogy az iTerm csúnya, de a Hyper stílusa egyszerűen…szép.

A Hyper webes technológiákra épül (HTML, CSS, JS), és a témák robusztus gyűjteménye, a könnyen telepíthető bővítmények változatos könyvtára, valamint a folyamatos felhasználói hozzájárulások teszik ezt egy szórakoztató és érdekes választássá. A Hyper csapata most adta ki a 2-es verziót, amely növeli a sebességet, hasznos UX-fejlesztéseket ad hozzá, tovább egyszerűsíti a plugin telepítését, és így tovább. Nézze meg a Hyper-t itt.

Egyik választás itt jó lesz. Mindkét opciót úgy lehet konfigurálni, hogy gyönyörű, rendkívül funkcionális terminálélményt hozzon létre. Ajánlom mindkettő kipróbálását – én mindkettőt telepítve tartom, és mindkettőt más-más célra használom.

Megjegyzés: ha egyik fenti lehetőség sem tetszik, vagy inkább a natív alkalmazásoknál, a beépített terminálnál maradnál.alkalmazás, amelyet az OS X rendszerrel együtt szállítanak, tökéletesen megfelel a cikk hátralévő részében tárgyalt legtöbb vagy összes feladatra.

2. mérföld: A Unix shell telepítése

Az OS X rendszerrel együtt szállított terminálalkalmazás kiválasztása után a következő lépés a Unix shell kiválasztása. Ez szükséges előfeltétele a legtöbb dolognak, ami ezután következik.

Három fő választási lehetőség van ezen a téren: Bash (OS X alapértelmezett), Zsh és Fish. Mindegyik választásnak különböző előnyei és hátrányai vannak, de e cikk céljaira a zsh-vel fogunk dolgozni.

A Z shell, vagy zsh 1990 óta létezik, és nagy rajongótábora, valamint bővítmények, útmutatók és közreműködők sokasága van. A zsh néhány előnye: javított befejezések, parancstörténet, globbing, gyorsbillentyűk, változókezelés és még sok más. Mindegyik elemet érdemes egy másik alkalommal felfedezni és megismerni.

Zsh telepítése:

A zsh-t az OS X rendszerrel együtt szállítják, azonban ez egy régebbi verzió. I recommend installing the latest version using Homebrew, the Mac package manager.

If you have not heard of Homebrew, or do not have it installed, you can find it here.

  • To install zsh using Homebrew, enter the following into your terminal:

brew install zsh zsh-completions

  • Verify installation by entering the following:

zsh --version

expected result: 5.1.1 or newer.

  • Make zsh your system’s default shell:

chsh -s $(which zsh)

  • Verify that it worked:

echo $SHELL

expected result: /bin/zsh

If you get hung up anywhere during this process, or need additional help, check this for more information and a more detailed install guide.

After installing zsh, the first time zsh is ran, it will prompt you with a series of questions concerning configuration. Kövesse a kérést a végéig, és végezze el a változtatásokat, ahol csak kívánja. Változtatásokra azonban nincs szükség – az alapértelmezett beállítások tökéletesen működni fognak.

3. lépés: A keretrendszer kiválasztása

credit: oh-my-zsh

A zsh telepítése után a keretrendszerek, pluginek és témák teljesen új világa nyílik meg. Sokkal több, mint amennyit ebben a cikkben le lehet fedni. E cikk céljaira Robby Russel oh-my-zsh-jét fogjuk használni keretrendszerünkként. Egyszerűen telepíthető, robusztus funkciókészlettel rendelkezik, és általában megbocsátó a használhatósága.

Ha az oh-my-zsh nem az Ön csészéje, egy hasonló keretrendszer, például a Prezto remekül működik helyette. Alternatívaként, ha egy könnyebb alternatívát szeretne, akkor maradhat csak egy plugin-kezelőnél, mint például az Antigen, vagy futhat keretrendszer nélkül is. Ezek a döntések teljesen rajtad múlnak, és arra biztatlak, hogy játszadozz a különböző konfigurációkkal, keretrendszerekkel, bővítményekkel és módosításokkal, hogy eldöntsd, melyik felel meg leginkább a munkafolyamatodnak és igényeidnek.

Az oh-my-zsh telepítése:

Lépj a Githubon található oh-my-zsh tárolóhoz – itt.

Kövesse az alapvető telepítési utasításokat a tárolóban, vagy nézze meg az alábbiakat:

Telepítés curl segítségével:

A termináljában futtassa:

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

A fenti művelet klónozza és telepíti az oh-my-zsh-t. Ha kész, már használhatod is.

Oh-my-zsh konfiguráció:

Az Zsh bővítmények mindenféle hasznos munkafolyamat-megoldást, szórakoztató finomításokat vagy fontos funkciókat adhatnak hozzá. Íme néhány a kezdéshez:

zsh-nvm – zsh plugin a Node Version Managerhez (feltéve, hogy Node.js-t használsz). Letölthető innen.

zsh-syntax-highlighting vagy fast-syntax-highlighting – valós idejű szintaxis-kiemelést ad a parancsokhoz, miközben a terminálba gépeled – erősen ajánlott. Itt találod.

git – rövidítések és megoldások git felhasználóknak. Az oh-my-zsh-vel együtt szállítja.

Sok-sok további bővítmény van még. Az oh-my-zsh ezek hosszú listáját is tartalmazza (lásd itt). Ez is a személyes konfiguráción múlik – töltsön időt azzal, hogy eldöntse, melyik fog a legjobban működni az Ön számára.

Plugin telepítése:

Az útmutató ezen része a zsh konfigurációs folyamatának egy rendkívül fontos darabjához vezet minket: a zsh konfigurációs fájlhoz, .zshrc .

Az .zshrc fájlt a zsh első futtatásakor és/vagy az oh-my-zsh telepítése során kellett volna létrehozni. A home könyvtáradban a rejtett fájlok között találod.

Megjegyzés: a rejtett fájlok megtekintésének engedélyezéséhez a home könyvtáradban ezt írd be a terminálodba: defaults write com.apple.finder AppleShowAllFiles YES

A .zshrc fájlban fog történni a legtöbb prompt beállításunk. Az Oh-my-zsh generál egy alapértelmezett konfigurációt, a téma, a bővítmények, az aliasok és egyebek mezőivel.

Az új bővítmény telepítése egyszerű folyamat. Ha olyan pluginról van szó, amelyet az oh-my-zsh-val szállítottak, egyszerűen navigáljon a .zshrc fájl “plugins” részéhez, és írja be a nevét a zárójelek közé. Töltse be újra a terminálját a zsh beírásával, és máris működnie kell.

Harmadik féltől származó bővítmények esetében javaslom, hogy kövesse a bővítmény tárolójában található telepítési utasításokat. A legtöbb harmadik féltől származó bővítmény telepítési folyamata azonban elég egyszerű, és a következőképpen kell történnie:

  1. Klónozd a bővítményt, és a klónozott fájlokat helyezd át a /custom mappába az oh-my-zsh telepítésen belül, amely a home könyvtáradban található.
  2. A .zshrc fájlodban add hozzá a plugin nevét zárójelben a ‘plugins’ mezőben, ahogy fentebb tettük.
  3. Töltsd újra a zsh-t, és máris használhatónak kell lennie.

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.

A parancssorod olyan lehet, amilyennek csak szeretnéd – minimális, bőbeszédű, informatív, szép, pragmatikus, vagy a fentiek mindegyike. A mi céljainkhoz egy nagyszerű zsh prompt témát választottam, a Spaceshipet. Ez a legjobb kombinációja a fenti tulajdonságok mindegyikének, amivel eddig találkoztam.

A Spaceship Prompt github tárolója itt található.

Spaceship prompt telepítése:

Klónozd a tárolót:

git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"

Symlink spaceship.zsh-theme az oh-my-zsh custom themes könyvtárba:

ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

Elhelyezd ZSH_THEME="spaceship" a .zshrc ‘s “theme” szakaszodban.

Spaceship prompt testreszabása:

Most, hogy telepítetted a promptodat, a testreszabások és finomítások hosszú listája áll rendelkezésedre, amelyeket a munkafolyamatodhoz vagy stílusodhoz igazíthatsz. A tárolójukban van egy nagyszerű dokumentáció, amely megmutatja a lehetőségek egy részét. 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. A kocka betűtípusok speciálisan úgy vannak foltozva, hogy tartalmazzák az ebben a cikkben tárgyalt összes nagyszerű szimbólumot/glifát.

Kocka betűtípusokat itt és itt találsz.

  1. A kocka betűtípusok telepítése:
  • Kézi telepítés – töltsd le/klónozd a betűfájlokat. A nerd fonts repository részletes utasításokat tartalmaz akár a teljes csomag, akár az egyes betűtípusok letöltésére vonatkozóan.
  • Navigáljon az újonnan letöltött betűtípus(ok) könyvtárába. Keresse meg a tényleges betűtípus fájlokat, amelyek általában .ttf végződéssel végződnek – ezzel egyidejűleg nyissa meg az OS X-hez mellékelt natív “Font Book” alkalmazást.
  • Húzza a betűtípus ( .ttf ) fájlokat közvetlenül a Font Book betűtípusok listájába. A kurzornak a húzáskor zöld ‘+’ szimbólummá kell változnia. Engedje el a kurzort, és a betűtípusok telepítve lesznek.

3. A további betűtípus-telepítési lehetőségek a nerd fonts Github repositoryban vannak részletezve, és tartalmazzák a Homebrew, install script és ad hoc curl letöltés útján történő telepítést. Mindegyiknek megvan a maga előnye/előnye – javaslom, hogy olvassa el az adattárat, hogy eldöntse, melyik a legegyszerűbb/legjobb az igényeinek.

4. Miután letöltötte és telepítette a nerd fontokat, nyissa meg a terminál emulátorát (iTerm vagy Hyper), és nyomja meg a Command + , . Ez megnyitja a felhasználói beállításokat. Az iTermben ez egy GUI párbeszédablak formájában jelenik meg. Hyperben ez megnyitja a Hyper konfigurációs fájlt, .hyper.js az alapértelmezett szövegszerkesztőben.

  • Az iTermben a betűtípusokat a “Profilok” -> {profil neve} alatt lehet beállítani. -> ‘Szöveg’ szakaszban. A ‘Szöveg’ részen belül navigáljon a ‘Betűtípus’ részhez. Változtassa meg az elsődleges betűtípust az új kocka betűtípusra, és jelölje be a ‘Más betűtípus használata a nem ASCII szöveghez’ jelölőnégyzetet. Jelölje be ezt a négyzetet, valamint a ‘Ligatúrák használata’ négyzetet. Állítsa be a másodlagos betűtípust is kocka betűtípusra. 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:

  1. 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.

  1. A .zshrc fájlodban illeszd be a következőt a “theme” szakasz után:
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”

A fentiekkel a promptod ugyanúgy fog kinézni, mint az enyém, feltéve, hogy van telepítve egy kocka betűtípus. Ha meg szeretnéd változtatni az ikonokat a promptban, a SPACESHIP_CHAR_SYMBOL= és SPACESHIP_CHAR_PREFIX= mezőkbe fogod beilleszteni a fent említett kocka betűtípusok ikonkódjait. A programozási nyelvek, keretrendszerek és könyvtárak logóit is beillesztheted. Találsz még glifákat, nyilakat, villámokat, meteorokat – a testreszabás megszállottjai számára bőven van mivel dolgozni.

4. Egy másik elem, ami a terminálomon belül érdekes lehet, a színes mappa/fájl ikonok. 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. Figyelmeztetésként csak kisebb könyvtáraknál ajánlom ezt a műveletet – nagyobb mappák indexelése közben lassúvá válhat.

Végső megjegyzések a Promptemhez:

Az iTermben a termnk nevű színsémát használom – ezt itt találod.

Az iTerm színtémák hosszú listája itt található.

A Hyper esetében az én konfigurációm a következő:

plugins: ,

5. mérföld: Következtetés: Tippek, források és merre tovább

Ezzel a ponttal már rendelkeznie kell egy működő zsh-terminállal, és nagyszerűen el kell kezdenie a saját egyéni konfigurációját. Miután megnézted az én személyes konfigurációmat, és esetleg emuláltad annak egyes részeit, most már jó elképzelésed lehet a zsh shell Macen elérhető gyönyörű és végtelen lehetőségek közül néhányról. Ez azonban csak az utazás kezdete. Ez az útmutató nem a teljesség igénye nélkül készült – rengeteg további lehetőség és csodálatos forrás áll rendelkezésre ahhoz, hogy a shell és a munkafolyamatokat úgy alakítsd át, ahogyan csak szeretnéd, hogy kinézzen, érezze és működjön. Ezt az utolsó részt annak szenteljük, hogy felvázoljunk néhány nagyszerű erőforrást, amelyekkel folytathatod a tanulást, és innen tovább folytathatod a felfedezést.

Javasolt olvasmányok:

Még sok csodálatos zsh bővítmény van, amelyek segíthetnek a keresésben, a greppingben, képernyővédők hozzáadásában a terminálodhoz, mint a pipes.sh, vagy informatív betöltés közbeni felszólítások, mint a Neofetch. Ajánlom, hogy olvassa végig, és találjon még néhány plugint a munkafolyamatának megfelelően.

Hasonlóképpen, a minden zsh dologgal kapcsolatos hasznos források gyűjteménye.

Egy közösség, amely minden Unix dolog gazdagítására/szokássá tételére összpontosít. Bár itt a Linux a domináns erő, egy gyors keresés az “OSX”-re és máris találsz néhány inspiráló példát.

Mint említettem, a Terminal keretrendszerek, kiterjesztések és erőforrások kurátori listája. Ez egy nagyszerű referencia – erősen ajánlott.

Egy interaktív tesztvezetési alkalmazás a legjobb elérhető programozási betűtípusok megtekintéséhez. A legtöbb/az összes ingyenes, és a nerd fonts-ból letölthető a javított verziójuk.

& Hyper themes & pluginek végleges listája. Ha úgy döntesz, hogy Hyper-t használsz, ez legyen az egyik első állomásod.

Következtetés:

Folytasd a felfedezést és dolgozz tovább a terminál élményeden. Ha izgatott leszel a parancssorod kinézetével és érzésével kapcsolatban, az segíteni fog abban, hogy még jobban lelkesedj a használatának megtanulásáért, a programozásért (ha alkalmazható), és egyszerűen csak szórakoztató.

Mivel több felhasználó lép be a parancssor testreszabásának világába, biztosan még több lehetőség és újítás fog következni. Annak ellenére, hogy a Linux általában jobban támogatja az ilyen típusú személyre szabást, remélem, hogy ez felnyitotta néhány olvasó szemét az OS X-ben lehetséges fantasztikus terminál-konfigurációkra.

A Mac ikon & dokkoló testreszabásával foglalkozó másik munkámat itt találja.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.