Pierzi o experiență mai bună a terminalului Mac

Când am părăsit lumea Linux și am trecut la OS X în urmă cu ceva mai mult de un an, ceea ce mi-a lipsit cel mai mult a fost comunitatea robustă și multitudinea de opțiuni legate de particularizări, ajustări și personalizări ale sistemului de operare și ale stației de lucru. Ceea ce urmează este un ghid care prezintă căutarea de a construi shell-ul meu perfect pentru OS X – o experiență de linie de comandă atât funcțională, cât și frumoasă, fără a sacrifica una pentru cealaltă. Sper ca pașii mei să economisească timp și frustrare pentru unii călători cu aceleași intenții în călătoria lor spre o experiență perfectă a terminalului.

Mila 1: Alegerea unei aplicații shell

credit: hyper.is

Primul pas în această călătorie, și unul important, este alegerea unei aplicații de emulare a terminalului. În lumea OS X, există doi jucători dominanți: iTerm și Hyper.

Acest articol nu se dorește a fi o recenzie a aplicației, așa că nu voi intra în amănunte privind funcționalitatea sau utilizarea avansată a uneia dintre cele două opțiuni, dar voi spune următoarele:

În general, iTerm va fi opțiunea mai performantă dintre cele două. iTerm posedă o gamă cu adevărat uimitoare de opțiuni, scurtături și capacități. Dacă lucrați mult pe linia de comandă Mac, folosiți în mod regulat tmux sau aveți nevoie de o configurabilitate mai avansată, acesta va fi probabil cel mai potrivit. Găsiți iTerm aici.

Hyper este un jucător mai nou în acest domeniu și, în ciuda faptului că are mai puține funcționalități decât iTerm, este, fără îndoială, cea mai frumoasă experiență de terminal. Acest lucru nu înseamnă că iTerm este urât, dar stilul lui Hyper este pur și simplu…frumos.

Hyper este construit pe tehnologii web (HTML, CSS, JS) și are o colecție robustă de teme, o bibliotecă diversă de plugin-uri ușor de instalat și contribuțiile continue ale utilizatorilor fac din acesta o alegere distractivă și interesantă. Echipa Hyper tocmai a lansat versiunea 2- crescând viteza, adăugând îmbunătățiri utile UX, simplificând și mai mult instalarea plugin-urilor și multe altele. Consultați Hyper aici.

Această alegere va fi una bună. Ambele opțiuni pot fi configurate pentru a crea o experiență de terminal frumoasă și foarte funcțională. V-aș recomanda să le încercați pe amândouă – eu le țin pe amândouă instalate, folosindu-le pe fiecare în scopuri diferite.

Nota: dacă nu vă place niciuna dintre opțiunile de mai sus, sau preferați să rămâneți la aplicațiile native, terminalul integrat.care este livrat cu OS X va funcționa foarte bine pentru majoritatea sau pentru tot ceea ce vom aborda în restul articolului.

Mila 2: Instalarea shell-ului Unix

După ce ați stabilit ce aplicație terminal veți folosi, următorul pas este alegerea unui shell unix. Aceasta este o condiție prealabilă necesară pentru cea mai mare parte din ceea ce va urma.

Există trei opțiuni majore în acest departament: Bash (implicit OS X), Zsh și Fish. Fiecare alegere are diferite avantaje și dezavantaje, dar, în scopul acestui articol, vom lucra cu zsh.

Z shell, sau zsh, există din 1990 și are un număr mare de adepți și o gamă variată de plugin-uri, ghiduri și colaboratori. Printre avantajele lui zsh se numără: completări îmbunătățite, istoricul comenzilor, globbing, scurtături, gestionarea variabilelor și multe altele. Fiecare dintre aceste elemente merită explorate și învățate cu altă ocazie.

Instalare zsh:

Zsh este livrat cu OS X, totuși, este o versiune mai veche. 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. Urmați promptul până la capăt, făcând modificări acolo unde doriți. Cu toate acestea, nu sunt necesare modificări – valorile implicite vor funcționa bine.

Mila 3: Alegerea unui framework

credit: oh-my-zsh

După instalarea lui zsh, se deschide o întreagă lume nouă de framework-uri, plugin-uri și teme. Mult mai mult decât poate fi acoperit în cadrul acestui articol. În scopul acestui articol, vom folosi oh-my-zsh al lui Robby Russel drept framework. Este simplu de instalat, are un set robust de caracteristici și este, în general, iertător în ceea ce privește ușurința de utilizare.

Dacă oh-my-zsh nu este ceașca dumneavoastră de ceai, un framework similar, cum ar fi Prezto, va funcționa foarte bine în locul acestuia. Alternativ, dacă preferați o alternativă mai ușoară, puteți rămâne doar cu un manager de plugin-uri, cum ar fi Antigen, sau puteți rula fără un framework cu totul. Aceste decizii depind în întregime de dumneavoastră și vă încurajez să vă jucați cu diferite configurații, cadre, plugin-uri și modificări pentru a determina care se potrivește cel mai bine fluxului de lucru și nevoilor dumneavoastră.

Instalarea oh-my-zsh:

Direcționați-vă către depozitul oh-my-zsh de pe Github – aici.

Să urmați instrucțiunile de instalare de bază din depozit, sau vedeți cele de mai jos:

Instalați prin curl:

În terminalul dumneavoastră, rulați:

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

Cele de mai sus vor clona și instala oh-my-zsh. După finalizare, sunteți gata să începeți să îl folosiți.

Configurarea oh-my-zsh:

Podurile Zsh pot adăuga tot felul de soluții utile pentru fluxul de lucru, modificări amuzante sau pot adăuga funcționalități importante. Iată câteva pentru a începe:

zsh-nvm – plugin zsh pentru Node Version Manager (presupunând că folosiți Node.js). Descărcați-l de aici.

zsh-syntax-highlighting sau fast-syntax-highlighting – adaugă evidențierea sintaxei în timp real la comenzi în timp ce sunt tastate în terminal – foarte recomandat. Găsiți-l aici.

git – scurtături și soluții pentru utilizatorii git. Se livrează cu oh-my-zsh.

Există multe, multe alte pluginuri. Oh-my-zsh este livrat, de asemenea, cu o listă lungă de ele (vezi aici). Din nou, acest lucru depinde de configurația personală – petreceți timp pentru a decide care va funcționa cel mai bine pentru dumneavoastră.

Instalarea plugin-urilor:

Această porțiune a ghidului ne aduce la o piesă extrem de importantă în procesul de configurare zsh: fișierul de configurare zsh, .zshrc .

Fișierul dvs. .zshrc ar fi trebuit să fie generat prima dată când ați rulat zsh și/sau în timpul instalării oh-my-zsh. Îl puteți găsi printre fișierele ascunse din directorul dvs. personal.

Nota: pentru a activa vizualizarea fișierelor ascunse în directorul dvs. personal, tastați acest lucru în terminal: defaults write com.apple.finder AppleShowAllFiles YES

Arhiva .zshrc este cea în care va avea loc cea mai mare parte a configurării promptului nostru. Oh-my-zsh va fi generat o configurație implicită, cu câmpuri pentru temă, pluginuri, aliasuri și multe altele.

Instalarea unui nou plugin este un proces simplu. Dacă este un plugin care a fost livrat cu oh-my-zsh, pur și simplu navigați în porțiunea „plugins” a fișierului dvs. .zshrc și introduceți numele acestuia între paranteze. Reîncărcați terminalul dvs. tastând zsh și ar trebui să fie funcțional.

Pentru plugin-urile de la terți, vă recomand să urmați instrucțiunile de instalare din cadrul depozitului plugin-ului. Cu toate acestea, procesul de instalare pentru majoritatea plugin-urilor de la terți este destul de simplu și ar trebui să decurgă după cum urmează:

  1. Clonați plugin-ul și mutați fișierele clonate în folderul /custom din cadrul instalației oh-my-zsh, care se găsește în directorul dvs. personal.
  2. În cadrul fișierului dvs. .zshrc, adăugați numele plugin-ului între paranteze în câmpul „plugins”, așa cum am făcut mai sus.
  3. Reîncărcați zsh, iar acesta ar trebui să fie gata de utilizare.

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.

Instrumentul dvs. de linie de comandă poate fi orice doriți să fie – minimalist, verbos, informativ, frumos, pragmatic sau toate cele de mai sus. Pentru scopurile noastre, am ales o temă excelentă pentru promptul zsh, Spaceship. Este cea mai bună combinație a fiecăruia dintre atributele de mai sus pe care am întâlnit-o până acum.

Depozitul github al promptului Spaceship poate fi găsit aici.

Instalarea promptului Spaceship:

Clonează depozitul:

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

Symlink spaceship.zsh-theme la directorul tău oh-my-zsh custom themes:

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

Setați ZSH_THEME="spaceship" în secțiunea „theme” a .zshrc ‘ului dvs.

Personalizarea promptului navei spațiale:

Acum că ați instalat promptul, există o listă lungă de personalizări și modificări care pot fi făcute pentru a se potrivi cu fluxul de lucru sau stilul dvs. de lucru. Depozitul lor are un set grozav de documente care vă va arăta câteva dintre posibilități. 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. Fonturile Nerd sunt patch-uri speciale pentru a include toate simbolurile/glifele grozave discutate în cadrul acestui articol.

Găsește fonturile Nerd aici și aici.

  1. Pentru a instala fonturile Nerd:
  • Instalare manuală – descărcați/clonați fișierele de font. Depozitul de fonturi nerd va avea instrucțiuni detaliate cu privire la descărcarea fie a întregului pachet, fie a fonturilor individuale.
  • Navigați în directorul fontului (fonturilor) nou descărcat(e). Găsiți fișierele de font propriu-zise, care se termină de obicei în .ttf – simultan, deschideți aplicația nativă ‘Font Book’ care este livrată cu OS X.
  • Trageți fișierele de font ( .ttf ) direct în lista de fonturi a Font Book. Cursorul dvs. ar trebui să se schimbe într-un simbol verde „+” la tragere. Eliberați cursorul, iar fonturile dvs. vor fi instalate.

3. Opțiunile suplimentare de instalare a fonturilor sunt detaliate în depozitul nerd fonts Github și includ instalarea prin Homebrew, scriptul de instalare și descărcarea curl ad-hoc. Fiecare are avantajele/cazurile sale – vă recomand să citiți depozitul pentru a decide care este cea mai ușoară/cea mai bună pentru nevoile dumneavoastră.

4. După ce ați descărcat și instalat fonturile nerd, deschideți emulatorul de terminal (iTerm sau Hyper) și apăsați Command + , . Acest lucru vă va deschide preferințele utilizatorului. În iTerm, acestea se vor prezenta sub forma unei ferestre de dialog GUI. În Hyper, aceasta va deschide fișierul dvs. de configurare Hyper, .hyper.js în editorul dvs. de text implicit.

  • În iTerm, fonturile pot fi setate în cadrul ‘Profiles’ -> {numele profilului} – secțiunea ‘Text’. În cadrul secțiunii ‘Text’, navigați până la porțiunea ‘Font’. Schimbați fontul principal cu noul dvs. font tocilar și bifați căsuța ‘Use a different font for non-ASCII text’. Bifați această căsuță, precum și căsuța ‘Use ligatures’. Setați, de asemenea, fontul secundar pe un font nerd. 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. În fișierul dvs. .zshrc, lipiți următoarele după secțiunea „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”

Cele de mai sus vor face ca promptul dvs. să arate identic cu al meu, presupunând că aveți instalat un font de tocilar. Dacă doriți să schimbați pictogramele din prompt, câmpurile SPACESHIP_CHAR_SYMBOL= și SPACESHIP_CHAR_PREFIX= sunt cele în care veți introduce codurile pictogramelor din fonturile nerd pe care le-am menționat mai sus. Puteți adăuga logo-uri de la limbaje de programare, framework-uri și biblioteci. Veți găsi, de asemenea, glife, săgeți, fulgere, meteoriți – pentru cei obsedați de personalizare, aveți cu ce lucra.

4. Un alt element care ar putea fi de interes în cadrul terminalului meu sunt pictogramele colorate pentru dosare/fișiere. 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. Ca un avertisment, vă recomand să faceți acest lucru doar pe directoare mai mici – poate deveni lent în timpul indexării folderelor mai mari.

Note finale despre Promptul meu:

În iTerm, folosesc o schemă de culori numită termnk – o puteți găsi aici.

În plus, o listă lungă de teme de culori iTerm poate fi găsită aici.

Pentru Hyper, configurația mea este următoarea:

plugins: ,

Mila 5: Concluzie: Sfaturi, resurse și unde să mergeți de aici

Până în acest punct, ar trebui să aveți un terminal zsh funcțional cu un start excelent pentru propria configurație personalizată. După ce ați văzut configurația mea personală și, eventual, după ce ați emulat porțiuni din ea, ar trebui să aveți acum o idee bună despre unele dintre opțiunile frumoase și nesfârșite disponibile pentru shell-ul zsh pe Mac. Cu toate acestea, acesta este doar începutul călătoriei. Acest ghid nu este menit să fie exhaustiv – există atât de multe alte posibilități și resurse uimitoare pentru a vă modifica shell-ul și fluxul de lucru în funcție de ceea ce doriți să arate, să se simtă și să funcționeze. Această porțiune finală este dedicată sublinierii unor resurse grozave pentru a vă continua învățarea și a continua să explorați de aici încolo.

Lecturi recomandate:

Există atât de multe alte plugin-uri zsh uimitoare care vă pot ajuta la căutare, grepping, adăugarea de screensavere la terminalul dvs. cum ar fi pipes.sh, sau prompturi informative la încărcare cum ar fi Neofetch. Vă recomand să citiți și să găsiți mai multe plugin-uri care să se potrivească fluxului dvs. de lucru.

Similare, un compendiu de resurse utile legate de tot ceea ce înseamnă zsh.

O comunitate axată pe îmbogățirea/personalizarea a tot ceea ce înseamnă Unix. În timp ce Linux este forța dominantă aici, o căutare rapidă pentru „OSX” vă va aduce câteva exemple inspirate.

Cum s-a menționat, o listă curatoriată de cadre, extensii și resurse Terminal. Aceasta este o referință excelentă – foarte recomandată.

O aplicație interactivă de test drive pentru a previzualiza unele dintre cele mai bune fonturi de programare disponibile. Cele mai multe/toate sunt gratuite și au o versiune corectată pentru descărcare de la nerd fonts.

Lista definitivă a temelor Hyper plugin-uri. Dacă vă decideți să folosiți Hyper, aceasta ar trebui să fie una dintre primele dvs. opriri.

Concluzie:

Continuați să explorați și să lucrați la experiența dvs. de terminal. Faptul de a fi entuziasmat de modul în care arată și se simte linia de comandă vă va ajuta să fiți mai entuziasmat să învățați cum să o folosiți, să programați (dacă este cazul) și este pur și simplu distractiv.

Pe măsură ce tot mai mulți utilizatori intră în lumea personalizării liniei de comandă, mai multe opțiuni și inovații vor urma cu siguranță. În ciuda faptului că Linux are, în general, mai mult suport pentru acest tip de personalizare, sper că acest lucru a deschis ochii unor cititori asupra unora dintre minunatele configurații de terminal posibile în OS X.

Vezi și alte lucrări ale mele care acoperă personalizarea dock-ului pentru pictogramele Mac & aici.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.