2cd / zsh

(๑•̀ㅂ•́)و✧ Easily configure zsh themes and plugins for GNU/Linux and Android-Termux.管理数百个zsh插件和主题,支持Alpine,Android,Arch,Debian,Fedora和Void。
https://git.io/zsh.sh
GNU General Public License v3.0
110 stars 15 forks source link
fzf-tab ohmyzsh p10k plugin termux theme zinit zsh-theme zshell

Tmoe-zsh 介绍 Introduction

. <(curl -L l.tmoe.me/hub/zsh)

Easily configure zsh themes and plugins for GNU/Linux and Android-Termux

Preview

You can press TAB key to complete. zshtheme completion

Screenshot

Capture__2020-03-24-17-29-552.png

Snipaste_2020-03-24_17-12-57.png

200 多种主题 You can choose more than 200 zsh themes

Snipaste_2020-03-24_17-34-37.png

100 多种配色 More than 100 color schemes

Snipaste_2020-03-24_17-16-22.png

近 50 种字体 Nearly 50 fonts

Snipaste_2020-03-24_17-20-59.png

Interface preview screenshot

86K2M8.png Capture__2020-03-24-17-41-46.png

Based on zinit, use "Turbo Mode" to delay loading plugins.

2020-03-19 :

Support for more GNU/Linux distributions.

2020-03-24 :
Support Gentoo/Funtoo

2020-08-13: Support for managing 280+ plugins.

2020-09: Refactored code, not compatible with the old version. You can run the following commands to delete the old version.

ZSHRC_FILE="${HOME}/.zshrc"
TMOE_ZSH_GIT_DIR="${HOME}/.config/tmoe-zsh/git"
rm -rv "${TMOE_ZSH_GIT_DIR}" "$(command -v zsh-i)"
mv "${ZSHRC_FILE}" "${ZSHRC_FILE}_$(date +%Y%m%d).bak"

2. Installation

2-1.Install using script

1.Android-Termux

    . <(curl -L l.tmoe.me/hub/zsh)

您如果居住在中国,那么可以使用 gitee 仓库。

    bash -c "$(curl -L l.tmoe.me/ee/zsh)"

2.Debian/Ubuntu/Mint/Kali

If you are using a container, then install sudo and wget.

    apt update
    apt install -y sudo wget
    bash -c "$(wget -qO- l.tmoe.me/hub/zsh)"

3.RedHat/Fedora/CentOS

    if ! grep -q 'Fedora' "/etc/os-release";then
        [[ -s "/etc/yum.repos.d/epel.repo" ]] || sudo yum install --skip-broken -y epel-release tar dnf
    fi
    [[ $(command -v curl) ]] || sudo dnf install -y curl
    bash -c "$(curl -L l.tmoe.me/hub/zsh)"

4.Arch/Manjaro

    [[ $(command -v curl) ]] || sudo pacman -Syu curl
    bash -c "$(curl -L l.tmoe.me/hub/zsh)"

5.OpenWRT/Entware

202009:No longer supports routers.

    opkg update
    opkg install libustream-openssl ca-bundle ca-certificates wget bash
    bash -c "$(wget --no-check-certificate -qO- l.tmoe.me/hub/zsh)"

6.Alpine/iOS-iSH

    apk add bash sudo wget
    wget -O /tmp/.tmoe-zsh l.tmoe.me/hub/zsh
    bash /tmp/.tmoe-zsh

7.Void

    sudo xbps-install -Sy wget
    bash -c "$(wget -qO- l.tmoe.me/hub/zsh)"

8.Gentoo/Funtoo

    emerge -avk net-misc/wget
    bash -c "$(wget -qO- l.tmoe.me/hub/zsh)"

9.OpenSUSE

    sudo zypper in curl
    bash -c "$(curl -L l.tmoe.me/hub/zsh)"

10.Solus

    sudo eopkg install wget
    bash -c "$(wget -qO- l.tmoe.me/hub/zsh)"

11.No other systems tested.
For example:GuixSD,etc.
You can refer to the environment file, and I think you can resolve dependencies yourself.
The relevant dependencies are zsh git pv wget tar xz newt(whiptail)

2-2.MANUALLY GIT CLONE

TMOE_ZSH_DIR="${HOME}/.config/tmoe-zsh"
TMOE_ZSH_GIT_DIR="${TMOE_ZSH_DIR}/git"
TMOE_ZSH_GIT_REPO='https://github.com/2moe/tmoe-zsh'
mkdir -p ${TMOE_ZSH_DIR}
git clone --depth=1 "${TMOE_ZSH_GIT_REPO}" "${TMOE_ZSH_GIT_DIR}"
bash ${TMOE_ZSH_GIT_DIR}/zsh.sh

2-3.MANUALLY CONFIGURE 手动配置

windows-terminal

Snipaste_2021-03-02_21-13-58.png

If you are using win10, then you can beautify windows-terminal.

Open this json file

And copy the contents of the "schemes" array to settings.json
settings.json

3. INSTRUCTIONS

3-1.COMMANDS

Change theme:
​ zshtheme ​

You can use -h or --help parameter to get help information.

Change color scheme:
​ zshcolor ​
Change font:
​ zshfont ​
Start zsh manager:
​ zsh-i ​

3-2. NOTES of zshtheme

zshtheme

  COMMAND: zshtheme
  命令: zshtheme
  Description: This command can change the ZSH theme.
  描述: 此命令能修改ZSH主题。
  --------------
  -h      --help
  get-help-info 获取帮助信息
  --------------
  -n      --no-color
  In this mode, the theme list will have no color.
  若您安装了lolcat,则主题列表将输出五彩斑斓的颜色,而-n参数将禁用此模式。
  --------------
  -num    --number list. This is the default mode.
  If the parameter is empty, it will enter this mode.
  It is interactive, you need to type zshtheme or zshtheme -num to start this mode first, and then type the option number,finally press Enter key.
  序号列表模式。若参数为空,则将进入此模式。
  此模式为交互式操作,您可以先输zshtheme启动,接着输入数字序号。
  --------------
    部分主题需要联网下载。
    Some themes need to be downloaded.
    The following themes use git to clone their repo:
    以下主题使用git克隆整个仓库:
   powerlevel10k | pure | via | aphrodite | typewritten | abaykan | agkozak | agnosterzak | alien | alien-minimal | antsy | asciigit | avit-da2k | bender | blokkzh | bullet-train | bunnyruni | chi | chill | ciacho | classytouch | cordial | daivasmara | docker-zsh | drofloh | ducula | elessar | enlightenment | fishbone++ | fishy2 | funkyberlin | geometry | gitstatus | halil | haribo | hyper-oh-my-zsh | hyperzsh | igeek | igorsilva | imp | jovial | kimwz | kinda-fishy | lambda-mod | lambda-v | maza | minimal-improved | node | nodeys | nothing | nt9 | nuts | odin | omega | oxide | pi | punctual | rafiki-zsh | robbyrussell-wip | shayan | sm | sobole | spaceship-zsh | staples | theta | traditional-plus | vero | windows-cmd | zeroastro | zeta | zsh2000 | λpure

  以下主题使用了CDN进行下载加速:
  The following themes use jsdelivr CDN for download acceleration:
  color-input | color-input-line | dpoggi-newline-timestamp | gitster | imperator | intika | kayid | kmac | matte-black-yellow | matte-black-yellow-line | minimal2 | passion | retro-term | short

  以下主题托管于github gist,下载无加速:
  xxf | solus | schminitz | reggae | random-emoji | philthy | oh-wonder | hedgehog | hub | mcquen
  --------------
  NOTES of manual mode
  手动模式的说明
  You can type zshtheme $THEME_NAME to change the zsh theme.
  In the process of typing zsh, you can press TAB to complete.
  For example.01: If you type zshtheme agnosterzak,then zsh theme will be changed to agnosterzak.
  02:   zshtheme xiong-chiamiov-plus
  您可以输zshtheme $主题名称来修改主题。
  例如: 输入zshtheme powerlevel10k或者zshtheme p10k,将主题修改为powerlevel10k。
  --------------
  LIST OF ZSH THEMES:
3den , abaykan , adben , af-magic , afowler , agkozak , agnoster , agnosterzak , alanpeabody , alien , alien-minimal , amuse , antsy , aphrodite , apple , arrow , asciigit , aussiegeek , avit , avit-da2k , awesomepanda , bender , bira , blinks , blokkzh , bullet-train , bunnyruni , bureau , candy , candy-kingdom , chi , chill , ciacho , classytouch , clean , cloud , color-input , color-input-line , cordial , crcandy , crunch , cypher , daivasmara , dallas , darkblood , daveverwer , dieter , docker-zsh , dogenpunk , dpoggi , dpoggi-newline-timestamp , drofloh , dst , dstufft , ducula , duellj , eastwood , edvardm , elessar , emotty , enlightenment , essembeh , evan , fino , fino-time , fishbone++ , fishy , fishy2 , flazz , fletcherm , fox , frisk , frontcube , funky , funkyberlin , fwalch , gallifrey , gallois , garyblessington , gentoo , geoffgarside , geometry , gianu , gitstatus , gitster , gnzh , gozilla , half-life , halil , haribo , hedgehog , hub , humza , hyper-oh-my-zsh , hyperzsh , igeek , igorsilva , imajes , imp , imperator , intheloop , intika , itchy , jaischeema , jbergantine , jispwoso , jnrowe , jonathan , josh , jovial , jreese , jtriley , juanghurtado , junkfood , kafeitu , kardan , kayid , kennethreitz , kimwz , kinda-fishy , kiwi , kmac , kolo , kphoen , lambda , lambda-gitster , lambda-mod , lambda-v , linuxonly , lukerandall , macovsky , maran , matte-black-yellow , matte-black-yellow-line , maza , mcquen , mgutz , mh , michelebologna , mikeh , miloshadzic , minimal , minimal-improved , minimal2 , mira , mlh , mortalscumbag , mrtazz , murilasso , muse , nanotech , nebirhos , nicoulaj , node , nodeys , norm , nothing , nt9 , nuts , obraun , odin , oh-wonder , omega , oxide , passion , peepcode , philips , philthy , pi , pmcgee , powerlevel10k , punctual , pure , pygmalion , pygmalion-virtualenv , rafiki-zsh , random-emoji , re5et , refined , reggae , retro-term , rgm , risto , rixius , rkj , rkj-repos , robbyrussell , robbyrussell-wip , sammy , schminitz , shayan , short , simonoff , simple , skaro , sm , smt , sobole , Soliah , solus , sonicradish , sorin , spaceship-zsh , sporty_256 , staples , steeef , strug , sunaku , sunrise , superjarin , suvash , takashiyoshida , terminalparty , theta , theunraveler , tjkirch , tjkirch_mod , tonotdo , traditional-plus , trapd00r , typewritten , vero , via , wedisagree , wezm , wezm+ , windows-cmd , wuffers , xiong-chiamiov , xiong-chiamiov-plus , xxf , ys , zeroastro , zeta , zhann , zsh2000 , λpure

3-3. NOTES of zshcolor

zshcolor

  COMMAND: zshcolor
  命令: zshcolor
  Description: This command can change the terminal color scheme.
  描述: 此命令能修改终端配色。
  --------------
  -h      --help
  --------------
  -n      --no-color
  --------------
  -num    --number list. This is the default mode.
  If the parameter is empty, it will enter this mode.
  It is interactive, you need to type zshcolor or zshcolor -num to start this mode first, and then type the option number,finally press Enter key.
  序号列表模式。若参数为空,则将进入此模式。
  此模式为交互式操作,您可以先输zshcolor启动,接着输入数字序号。
  --------------
  NOTES of manual mode
  手动模式的说明
  You can type zshcolor $COLOR_NAME to change the terminal color scheme.
  For example.01: If you type zshcolor monokai.dark, then terminal color will be changed to monokai.dark.
  您可以输zshcolor $配色名称来修改配色。
  例如: 输入zshcolor neon,将配色修改为neon。
  --------------
  LIST OF COLOR SCHEMES:
 3024.dark, 3024.light, aci, aco, apathy.dark, apathy.light, argonaut, ashes.dark, ashes.light, atelierdune.dark, atelierdune.light, atelierforest.dark, atelierforest.light, atelierheath.dark, atelierheath.light, atelierlakeside.dark, atelierlakeside.light, atelierseaside.dark, atelierseaside.light, azu, base16.solarized.dark, base16.solarized.light, bespin.dark, bespin.light, bim, black.on.white, brewer.dark, brewer.light, bright.dark, bright.light, cai, chalk, chalk.dark, chalk.light, codeschool.dark, codeschool.light, colors.dark, colors.light, default, default.dark, default.light, dracula, eighties.dark, eighties.light, elementary, elic, elio, embers.dark, embers.light, flat, flat.dark, flat.light, freya, gnometerm, google.dark, google.light, gotham, grayscale.dark, grayscale.light, greenscreen.dark, greenscreen.light, gruvbox.dark, gruvbox.light, harmonic16.dark, harmonic16.light, hemisu.dark, hemisu.light, hybrid, isotope.dark, isotope.light, jup, londontube.dark, londontube.light, mar, marrakesh.dark, marrakesh.light, materia, material, miu, mocha.dark, mocha.light, monokai.dark, monokai.light, nancy, neon, nep, nord, ocean.dark, ocean.light, one.dark, one.light, pali, paraiso.dark, paraiso.light, peppermint, railscasts.dark, railscasts.light, rydgel, sat, shapeshifter.dark, shapeshifter.light, shel, smyck, solarized.dark, solarized.light, summerfruit.dark, summerfruit.light, tango, tin, tomorrow, tomorrow.dark, tomorrow.light, tomorrow.night, tomorrow.night.blue, tomorrow.night.bright, tomorrow.night.eighties, twilight.dark, twilight.light, ura, vag, white.on.black, wild.cherry, zenburn

3-4. PLUGINS 预装插件说明

plugin_01
本工具在执行初始化安装时,将预装某些插件。

________       ___      ________       ___      __________
 \_____  \     |\  \    |\   ___  \     |\  \    |\___   ___\
 \|___/  /|    \ \  \    \ \  \ \  \    \ \  \   \|___ \  \_|
     /  / /     \ \  \    \ \  \ \  \    \ \  \       \ \  \
    /  /_/__     \ \  \    \ \  \ \  \    \ \  \       \ \  \
   |\________\    \ \__\    \ \__\ \__\    \ \__\       \ \__\
    \|_______|     \|__|     \|__| \|__|     \|__|        \|__|
您可以在安装完成后,输 zsh-i进入zsh插件管理工具。
插件的加载方式基于zinit。
You can type zsh-i to start tmoe-zsh tool.
    ------------
    以下是部分插件的说明:
    插件名称PLUGIN NAME:z
    命令COMMAND:z
    若您曾访问过~/sd/Download,则您可以输"z Down"或"z load"来快速跳转,访问列表可以输"z"获取。
    ------------
    插件名称PLUGIN NAME:extract
    命令COMMAND:x
    Description: This plugin defines a function called "extract" that extracts the archive file you pass it, and it supports a wide variety of archive filetypes.

    例如某文件名为233.tar.xz,则您无需输"tar -Jxf 233.tar.xz",只需输"x 233.tar.xz"。
    同理,若另一文件为233.7z,则您只需输入"x 233.7z"即可解压。
    注意:您在解压前必须先安装相关依赖,例如:zip需要unzip,7z需要p7zip,安装方法类似于"apt install unzip"
    -----------
    应用名称 APP NAME:exa
    命令COMMAND:exa
    alias ls=exa
    若您的系统满足依赖条件,则ls将alias为exa.
    exa是一款优秀的ls替代品,拥有更好的文件展示体验,输出结果更快,使用rust编写。
    Exa is a modern version of ls.
    输入lst,将展示类似于tree的树状列表。
    输入l,将显示当前目录的文件列表。
    -----------

plugin_02

  应用名称 APP NAME:bat
    命令COMMAND:bat
    alias cat=bat
    bat是cat的替代品,支持多语言语法高亮。
    支持自动分页,对于大文本,以 less 命令输出,可使用类似 vim 的快捷键移动光标。 你可以输q退出bat的页面视图,you can type q to quit bat.
    用法示例:bat -l zsh /etc/os-release
    输入bat -L获取支持的语言
    ------------
    插件名称PLUGIN NAME:colored-man-pages
    命令COMMAND:man
    Description: man手册彩色输出 This plugin adds colors to man pages..
    输入man 软件包或命令名称获取该软件包的文档。
    用法示例:man ssh高亮显示ssh-client的文档(用户手册)。
    man bash获取bash的用户手册。
    ------------
    Other
    补全插件用法:
    输入已知命令或函数的部分字符后,按下TAB键
    You can press TAB KEY to use auto completion plugin.
    ------------
    Plugins such as extract, git ,fast-syntax-highlighting , fzf-tab and z have been configured for you. Enjoy the fun of zsh!

作为一款插件管理器,本工具的亮点是自动添加注释内容。

以下是bat ~/.zshrc输出的部分内容的截图 bat ~/.zshrc Because this tool is based on zinit, the command to load the plugin is zinit.

Like below:

zinit ice wait lucid pick"fast-syntax-highlighting.plugin.zsh" atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" && zinit light _local/fast-syntax-highlighting    #语法高亮插件,速度比zsh-syntax-highlighting更快。(Short name F-Sy-H). Syntax-highlighting for Zshell – fine granularity, number of features, 40 work hours themes

4.相关项目

zdharma/zinit
romkatv/powerlevel10k
Aloxaf/fzf-tab
zsh-users/zsh-autosuggestions
oh-my-zsh
Cabbagec/termux-ohmyzsh
zdharma/fast-syntax-highlighting
abaykan/Mine
agkozak/agkozak-zsh-prompt
zakaziko99/agnosterzak-ohmyzsh-theme
eendroroy/alien
eendroroy/alien-minimal
jeffmhubbard/antsy-zsh-theme
win0err/aphrodite-terminal-theme.git
cemsbr/asciigit
fdaciuk/avit-da2k
specious/bender
KorvinSilver/blokkzh
caiogondim/bullet-train-oh-my-zsh-theme
jopcode/oh-my-zsh-bunnyruni-theme
akinjide/chi
PsychoPatate/chill.zsh-theme
Ciacho/ciacho-ohmyzsh-theme
yarisgutierrez/classyTouch_oh-my-zsh
stevelacy/cordial-zsh-theme
Daivasmara/daivasmara.zsh-theme
dpdornseifer/docker-zsh-theme
channprj/dotfiles-macOS
drofloh/oh-my-zsh-custom
janjoswig/Ducula
fjpalacios/elessar-theme
w33tmaricich/enlightenment
EYH0602/Fishbonepp
akinjide/fishy2
Ottootto2010/funkyberlin-zsh-theme
frmendes/geometry
kimyvgy/gitstatus-zsh-theme
shashankmehta/dotfiles
5m0k3r/zsh-themes
haribo/omz-haribo-theme
hedgehog1029/dfbb7e66511e2c399157
hub23/c226b1c77446e099f7684b0d21c6b22a
willmendesneto/hyper-oh-my-zsh
tylerreckart/hyperzsh
Saleh7/igeek-zsh-theme
igor9silva/zsh-theme
master/Shell-Themes
igormp/Imp
Intika-Linux-Apps/Oh-My-Zsh-Intika
zthxxx/jovial
AmrMKayid/KayidmacOS
kimwz/kimwz-oh-my-zsh-theme
folixg/kinda-fishy-theme
koreymacdougall/config_files
ergenekonyigit/lambda-gitster
halfo/lambda-mod-zsh-theme
vkaracic/lambdav-zsh-themes
eamazaj/maza-theme
ryanpcmcquen/150cf9a66bca2463e5660cafed3e1000
girishrau/oh-my-zsh-customizations
gdsrosa/minimal_improved
skuridin/oh-my-zsh-node-theme
marszall87/nodeys-zsh-theme
eendroroy/nothing
lenguyenthanh/nt9-oh-my-zsh-theme
rafaelsq/nuts.zsh-theme
tylerreckart/odin
kaushik94/a54e128869c0c82bdbed31d56c710daa
Section214/zsh-omega
dikiaap/dotfiles
ChesterYue/ohmyzsh-theme-passion
philFernandez/56f8953722285834cc9000ffcfe103f4
tobyjamesthomas/pi
dannynimmo/punctual-zsh-theme
sindresorhus/pure.git
akabiru/rafiki-zsh
oshybystyi/2c30543cd48b2c9ecab0
mgimenez/ae1cde0b637e844da885cb093a916126
ecbrodie/robbyrussell-WIP-theme
schminitz/9931af23bbb59e772eec
shayanh/shayan-zsh-theme
nikhilkmr300/omz-themes
blyndusk/sm-theme
sobolevn/sobole-zsh-theme
cloudnull/4cc7890acaae6cb809e811e09e9eaade
denysdovhan/spaceship-prompt
dersam/staples
eendroroy/theta
xfxf/zsh-theme-traditional-plus
reobin/typewritten
Raindeer44/vero
badouralix/oh-my-via
juliavallina/windows-zsh-theme
xfanwu/18fd7c24360c68bab884
zeroastro/zeroastro-zsh-theme
skylerlee/zeta-zsh-theme
maverick9000/zsh2000
marszall87/lambda-pure

部分 zsh 额外主题来自 oh-my-zsh/external-themes
If you find a theme loading error, then you can report an issue.