Aller au contenu principal

♻️ Migration

Oh-My-Zsh

Syntaxe abrégée OMZ

~/.zshrc
zi snippet <URL>        # Raw Syntax with URLzi snippet OMZ::<PATH>  # Shorthand OMZ/          (http://github.com/ohmyzsh/ohmyzsh/raw/master/)zi snippet OMZL::<PATH> # Shorthand OMZ/lib/      (http://github.com/ohmyzsh/ohmyzsh/raw/master/lib)zi snippet OMZT::<PATH> # Shorthand OMZ/themes/   (http://github.com/ohmyzsh/ohmyzsh/raw/master/themes)zi snippet OMZP::<PATH> # Shorthand OMZ/plugins/  (http://github.com/ohmyzsh/ohmyzsh/raw/master/plugins)

Bibliothèque OMZ

Importation du [presse-papiers][1] et [termsupport][2] à partir de l'échantillon de la bibliothèque OMZ:

Syntaxe brute :

~/.zshrc
zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zshzi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh

Syntaxe abrégée OMZ:

~/.zshrc
zi snippet OMZ::lib/clipboard.zshzi snippet OMZ::lib/termsupport.zsh

Syntaxe abrégée OMZ:

~/.zshrc
zi snippet OMZL::clipboard.zshzi snippet OMZL::termsupport.zsh

Plug-ins OMZ

~/.zshrc
- plugins=(-  git-  dotenv-  rake-  rbenv-  ruby-)+ zi snippet OMZP::git+ zi snippet OMZP::dotenv+ zi snippet OMZP::rake+ zi snippet OMZP::rbenv+ zi snippet OMZP::ruby

Exemple de chargement turbo conditionnel plus avancé:

~/.zshrc
zi is-snippet wait lucid for \    atload"unalias grv g" \  OMZP::{git,sudo,encode64, xtract} \    if'[[ -d /opt/google-cloud-sdk ]]' \  OMZP::gcloud \    if'[[ -f /etc/os-release ]] && source /etc/os-release && [[ "$ID" = arch ]]' \  OMZP::archlinux \    if'[[ -d ~/. vm ]]' \  OMZP::nvm \    if'[[-d ~/. sh ]]' \  OMZP::ssh-agent \    if'[[-d ~/. nupg ]]' \  OMZP::gpg-agent \    if'[[ "$OSTYPE" = *-gnu ]]' \  OMZP::gnu-utils \    has'pip' \  OMZP::pip \    has'python' \  OMZP::python
astuce

Regroupez l'exemple ci-dessus dans un seul fichier :

zi snippet <some/path/or/url/bundled-snippets.zsh

Utilisez zi ice svn si plusieurs fichiers nécessitent un sous-répertoire entier.

~/.zshrc
zi ice svnzi snippet OMZP::gitfastzi ice svnzi snippet OMZP::osxzi ice svnzi snippet OMZP::history-substring-search

Utilisez zi ice as "completion" pour ajouter directement des extraits de complétion de fichier unique.

~/.zshrc
zi ice as "completion"zi snippet OMZP::docker/_dockerzi ice as "completion"zi snippet OMZP::fd/_fdzi ice as "completion"zi snippet OMZP::ag/_ag

Thèmes OMZ

Les thèmes sont stockés dans le répertoire themes . Tout est chargé en arrière-plan. avec une syntaxe simple :

~/.zshrc
ZSH_THEME="robbyrussell"

Cependant, ZI ne prend pas en charge la variable ZSH_THEME de manière native.

Pour utiliser les thèmes **** créés pour OMZ, il faut procéder au chargement indiqué ci-dessous car il serait le même que celui d'OMZ dans le fond .

Certains thèmes peuvent nécessiter une configuration supplémentaire ; celle-ci peut être déterminée à partir du fichier de configuration du thème.

  • Charger la bibliothèque Git
  • Charger le plug-in Git
  • Charger les dépendances de la bibliothèque
  • Activer setopt promptsubst

Si l'un des éléments ci-dessus n'est pas dans l'ordre ou est manquant, le thème se brisera comme indiqué ci-dessous :

$(build_prompt)

Si la bibliothèque Git n'est pas chargée ou si elle est chargée dans le mauvais ordre, le message peut ressembler à ce qui suit :

........:1: Commande introuvable: git_prompt_status........:1: Commande introuvable: git_prompt_short_sha

Si vous rencontrez un problème avec le thème, les bibliothèques de support OMZ doivent être chargées

  • Si votre thème ne se colore pas comme il le devrait, vous devrez charger theme-and-appearance.zsh

  • Si vous rencontrez un message d'erreur similaire à :

zsh : commande non trouvée : ruby_prompt_info

Vous devez charger prompt_info_functions.zsh

L'ensemble ressemble à ceci :

~/.zshrc
zi snippet OMZL::git.zshzi snippet OMZP::gitzi snippet OMZL::theme-and-appearance.zshzi snippet OMZL::prompt_info_functions.zsh# Autres bibliothèques qui pourraient être nécessaireszi cdclear -q

Chargez ensuite l'invite :

setopt promptsubstzi snippet OMZT::robbyrussell

Exemple de thème externe : NicoSantangelo/Alpharized

Chargez avec OMZ :

~/.zshrc
ZSH_THEME="alpharized"

Chargement avec ZI :

~/.zshrc
zi snippet OMZL::git.zsh

Charger le plug-in Git:

~/.zshrc
zi snippet OMZP::gitzi cdclear -qsetopt promptsubstzi light NicoSantangelo/Alpharized

Principes de base de Prezto

Syntaxe brute avec URL :

~/.zshrc
zi snippet <URL>

Abréviation PZT : https://github.com/sorin-ionescu/prezto/tree/master/

~/.zshrc
zi snippet PZT::<PATH>

Abréviation de PZT/modules :

~/.zshrc
zi snippet PZTM::<PATH>

Modules Prezto

Importation de l'environnement et du terminal Exemple de modules Prezto :

Paramètre Prezto:

~/.zshrc
zstyle ":prezto:load" pmodule "environnement" "terminal"

Réglage ZI:

Importer les données à partir d'une URL.

~/.zshrc
zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zshzi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh

Syntaxe abrégée PZT:

~/.zshrc
zi snippet PZT::modules/environnementzi snippet PZT::modules/terminal

Syntaxe sténographique PZTM :

~/.zshrc
zi snippet PZTM::environmentzi snippet PZTM::terminal

Utilisez zi ice svn si plusieurs fichiers nécessitent un sous-répertoire entier.

~/.zshrc
zi ice svnzi snippet PZTM::dockerzi ice svnzi snippet PZTM::git

Utilisez zi ice as"null" si n'existe pas *.plugin.zsh, init.zsh, *.zsh-theme* fichiers dans module.

~/.zshrc
zi ice svn as "null"zi snippet PZTM::archive

Utilisez zi ice atclone "git clone <repo> <location>" si le module a un module externe.

  • [complétion][14]:
~/.zshrc
zi ice svn blockf \  atclone"git clone --recursive https://github.com/zsh-users/zsh-completions.git external"zi snippet PZTM::completion

Utilisez blockf pour empêcher tout ajout inutile à fpath, car ZI gère fpath.

astuce

Qu'est-ce que zstyle?

Zgen

Charger la bibliothèque OMZ

~/.zshrc
- zgen oh-my-zsh+ zi snippet OMZL::<ANY OF THEM>

Charger les plugins OMZ

~/.zshrc
- zgen oh-my-zsh <PATH>+ zi snippet OMZP::<PATH>

Charger les modules Prezto

~/.zshrc
- zgen prezto+ zi snippet PZTM::<ANY FROM LIST BELOW>
  • environnement
  • terminal
  • editor
  • history
  • directory
  • spectrum
  • utility
  • completion
  • prompt
~/.zshrc
- zgen prezto <modulename>+ zi snippet PZTM: :<modulename>

Chargez les dépôts en tant que plugins prezto :

~/.zshrc
- zgen pmodule <reponame> <branch>+ zi ice ver"<branch>"+ zi load <repo/plugin>

Résumé de Zgen

info

Pour l' emplacement: voir sélection des fichiers

~/.zshrc
- zgen load <repo> [location] [branch]+ zi ice ver"[branch]"+ zi load <repo>

Les Bases de Zplug

~/.zshrc
- zplug <repo/plugin>, tag1:<option1>, tag2:<option2>+ zi ice tag1"<option1>" tag2"<option2>"+ zi load <repo/plugin>

Comparaison des tags

  • as => as
  • use => pick, src, multisrc
  • ignore => None
  • from => from
  • at => ver
  • rename-to => mv, cp
  • dir => Selection(pick, …) with rename
  • if => if
  • hook-build => atclone, atpull
  • hook-load => atload
  • frozen => None
  • on => None
  • defer => wait
  • lazy => autoload
  • depth => depth

[1]: https://github. com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh [2]: https://github. com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh

[14]: https://github. com/sorin-ionescu/prezto/tree/master/modules/completion