Maybaygiare.org

Blog Network

Drop Bash a fish shell számára, hogy gyönyörű alapértelmezett értékeket kapjon

egyike vagyok azoknak az embereknek, akik azonnal megnyitják a terminál ablakot, miután a számítógépem elindult. Ez nem szükségszerű ezen a ponton, de a szokás ott van. Karrierem nagy részét a varázslatos varázsigék megtanulásával töltöttem, és úgy találom, hogy a terminálon a napi feladataimban való navigálás élvezetesebb napot eredményez a munkahelyen. Mindez azt mondta, hogy jó néha kipróbálni valami újat.

nemrég elengedtem az alapértelmezett parancssori tolmácsot, a Bash-t a fish javára, amely büszkén forgalmazza magát “a 90-es évek parancssori héjának”.

ezt találtam .a bashrc nem elég

egy kicsit több mint egy évvel ezelőtt úgy döntöttem, hogy abbahagyom az operációs rendszerek absztrakcióját, és elkezdem tanulni az alapoktól kezdve. Nemrég váltottam Mac-ről Linuxra, ami okot adott arra, hogy megvizsgáljam a dotfájljaimat az új környezetbe. Frissítő volt; Találtam egy csomó zavaró parancsikont és duplikációt, és párosítottam valamit, ami jól működik az operációs rendszerek között. Itt van néhány kedvenc:

## Nicer shell experience
export GREP_OPTIONS="--color=auto"; # make grep colorful
export LSCOLORS=gxfxbEaEBxxEhEhBaDaCaD; # make ls more colorful as well
export HISTSIZE=32768; # Larger bash history (allow 32³ entries; default is 500)
export HISTFILESIZE=$HISTSIZE;
export HISTCONTROL=ignoredups; # Remove duplicates from history. I use `git status` a lot.
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"; # Make some commands not show up in history
export LANG="en_US.UTF-8"; # Language formatting is still important
export LC_ALL="en_US.UTF-8"; # byte-wise sorting and force language for those pesky apps
export MANPAGER="less -X"; # Less is more
export GPG_TTY=$(tty); # for gpg key management

egy úton voltam, hogy demisztifikáljam a környezetem varázsát, és kezd értelmesebbé válni.

testreszabási szünetek én .bashrc

az egyértelműség ezen pontján megint elakadtam. Szeretnék néhány modern konvenciót a terminálomban, különösen az automatikus javaslatokat, a szintaxis kiemelését és a parancskimenetek színezését túl sok függőség nélkül, és szeretném, ha ez a konfiguráció független lenne attól a parancssori tolmácstól, amelyet futok. (az iTerm2 nagyszerű Mac-en, de nem akarom nyomon követni a rejtélyes konfigurációs fájlját a dotfiles-ban. Akkor mit tegyek?

amikor először mentem egy válasz után, egy lépéssel megoldottam:

  • először testreszabtam a ~/ – T.inputrc fájl, amely lehetővé teszi az előre és hátra keresést.
  • ezután kicseréltem a cat-t a ccat prettified kimenetére, és aliased cat-t ccat-ra az én-mben .bashrc. Ez később bizonyos esetekben megszakította az stdout írását, ezért abbahagytam a használatát.
  • végül a Bash-it-t használtam, amely egy erőteljes plugin rendszer a Bash testreszabásához.

miután egyenként visszahámoztam a darabokat, úgy éreztem, egy kicsit jobban megértettem, hogyan működik a rendszerem. A karika úgy éreztem, hogy át kell ugranom, hogy megkapjam a keresett modern élményt, visszavezetett azokhoz a szabványokhoz, amelyek erre a pontra vezettek. Úgy éreztem, hogy a történelem foglya vagyok, amíg úgy döntöttem, hogy mindent eldobok, és valami teljesen mást próbálok ki.

egyszerű alapértelmezett és testreszabási fish shell

Fish shell egy modern parancssori felület automatikus javaslatok, fül befejezése, és szintaxis kiemelés (többek között). Különösen tetszik, hogy az első alkalommal, amikor megpróbálja beírni a halat, gyönyörű élményt kap:

az első sorban a parancs kék, mert a pwd érvényes parancs. A második sorban piros, mert a pdw nem érvényes parancs. Megnyomtam az Enter-t, hogy megmutassam, hogy ez igaz, de gyorsan kijavíthattam volna a hibát, és továbbléphettem volna a napommal. A harmadik parancsban meg akarom változtatni a könyvtárat (cd) a fejlesztési mappámba, a fish pedig automatikusan megkérdezi, hogy be akarok-e ugrani a dotfiles-be, mint legutóbb. Amikor kétszer megnyomom a Tab-ot, más lehetőségeket mutat ugyanabban a könyvtárban, mint amire számítottam.

Ha testre akarom szabni a halhéj élményemet, ehhez nem kell további könyvtárat vagy keretet telepítenem. A Fish a fish_config paranccsal szállít, amely elindít egy grafikus felhasználói felületet (GUI), ahol különböző színeket és azonnali konfigurációkat választhat.

ami még lenyűgözőbb, hogy az összes elérhető függvényt, változót, kötést és még sok mást is áttekinthet a GUI-ból:

Ha beállítja a konfigurációt, az összes Testreszabás ugyanazon a helyen tárolódik: ~/.config / hal. A fenti képernyőkép azt mutatja, hogy egyedi funkciót készítettem, amely lehetővé teszi a Python környezet Egyszerű aktiválását a pyenv segítségével. Nézze meg a halfunkciókról szóló oktatóanyagot.

figyelmeztetni kell: a hal nem olyan, mint a Bash

amikor más kagylókat kipróbáltam, azt tapasztaltam, hogy mindig volt néhány különbség, amire szükségem volt a hangoláshoz, de összességében ismerősnek érezték magukat. A halak esetében nem ez a helyzet. A függvénydefiníció, az aliasing és a változók egy kicsit másképp működnek. Vannak hasznos stratégiák az átalakításhoz .bashrc és .bash_profile fájlokat fish konfiguráció, de ez több, mint én fedezi ebben a cikkben. Tehát, miközben megszerettem a halakat, azt javaslom, hogy vegye be az interaktív oktatóanyagot egy körre, hogy lássa, tetszik-e.

adj hal egy próbát egy szép alapértelmezett shell

élvezem kezdő napom megnyitásával a terminál, és élvezem még, mivel váltás a hal shell. Ez lehetővé tette számomra, hogy elmozduljak attól, hogy aggódjak a Bash-ban, hogy arra összpontosítsak, hogy milyen kódot tervezek írni. Ha el akar távolodni a terminál bütykölésétől, és inkább a kódra koncentrál, próbálja ki. Használja a chsh-t, hogy beállítsa alapértelmezett héjként, és tudassa velem, hogy megy a megjegyzésekben.

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

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