Oh My Zsh es un marco de código abierto impulsado por la comunidad para administrar su configuración de zsh.
Suena aburrido. Intentemos de nuevo.
Oh My Zsh no te convertirá en un desarrollador 10x... pero puedes sentirte como tal.
Una vez instalado, la carcasa de su terminal se convertirá en la comidilla de la ciudad o ¡le devolveremos su dinero! Con cada pulsación de tecla en el símbolo del sistema, aprovechará los cientos de complementos potentes y hermosos temas. En los cafés se te acercarán desconocidos y te preguntarán: "¡Eso es increíble! ¿Eres una especie de genio?".
Finalmente, comenzará a recibir el tipo de atención que siempre sintió que merecía. ...o tal vez utilices el tiempo que estás ahorrando para empezar a usar hilo dental con más frecuencia. ?
Para obtener más información, visite ohmyz.sh, siga a @ohmyzsh en X (anteriormente Twitter) y únase a nosotros en Discord.
S/O | Estado |
---|---|
Androide | ✅ |
libreBSD | ✅ |
LCARS | ? |
linux | ✅ |
macos | ✅ |
Deformación de OS/2 | |
Ventanas (WSL2) | ✅ |
zsh --version
para confirmar), consulte las siguientes instrucciones wiki aquí: Instalación de ZSHcurl
o wget
git
(se recomienda v2.4.11 o superior) Oh My Zsh se instala ejecutando uno de los siguientes comandos en su terminal. Puede instalar esto a través de la línea de comandos con curl
, wget
u otra herramienta similar.
Método | Dominio |
---|---|
rizo | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
obtener | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
buscar | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Alternativamente, el instalador también se refleja fuera de GitHub. Es posible que sea necesario utilizar esta URL si se encuentra en un país como China o India (para ciertos ISP), que bloquea raw.githubusercontent.com
:
Método | Dominio |
---|---|
rizo | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
obtener | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
buscar | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
Tenga en cuenta que cualquier .zshrc
anterior cambiará de nombre a .zshrc.pre-oh-my-zsh
. Después de la instalación, puede mover la configuración que desea conservar al nuevo .zshrc
.
Es una buena idea inspeccionar el script de instalación de proyectos que aún no conoces. Puede hacerlo descargando primero el script de instalación, revisándolo para que todo parezca normal y luego ejecutándolo:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
Si la URL anterior caduca o falla, es posible que deba sustituir la URL por https://install.ohmyz.sh
para poder obtener el script.
Oh My Zsh viene con un montón de complementos que puedes aprovechar. Puedes echar un vistazo al directorio de complementos y/o a la wiki para ver qué hay disponible actualmente.
Una vez que detectes un complemento (o varios) que te gustaría usar con Oh My Zsh, deberás habilitarlos en el archivo .zshrc
. Encontrarás el archivo zshrc en tu directorio $HOME
. Ábrelo con tu editor de texto favorito y verás un lugar para enumerar todos los complementos que deseas cargar.
vi ~ /.zshrc
Por ejemplo, esto podría empezar a verse así:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Tenga en cuenta que los complementos están separados por espacios en blanco (espacios, tabulaciones, nuevas líneas...). No utilices comas entre ellos o se romperá.
Cada complemento integrado incluye un archivo README que lo documenta. Este archivo README debe mostrar los alias (si el complemento agrega alguno) y elementos adicionales que se incluyen en ese complemento en particular.
Lo admitiremos. Al principio del mundo de Oh My Zsh, es posible que nos hayamos puesto demasiado contentos con el tema. Ahora tenemos más de ciento cincuenta temas agrupados. La mayoría de ellos tienen capturas de pantalla en la wiki (¡estamos trabajando para actualizar esto!). ¡Échales un vistazo!
El tema de Robby es el predeterminado. No es el más elegante. No es el más simple. Es justo el correcto (para él).
Una vez que encuentre un tema que le gustaría usar, deberá editar el archivo ~/.zshrc
. Verá una variable de entorno (toda en mayúsculas) que se ve así:
ZSH_THEME= " robbyrussell "
Para usar un tema diferente, simplemente cambie el valor para que coincida con el nombre del tema deseado. Por ejemplo:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Nota
Muchas veces verás capturas de pantalla de un tema zsh, lo probarás y descubrirás que no se ve igual para ti.
Esto se debe a que muchos temas requieren la instalación de una fuente Powerline o una fuente Nerd para poder renderizarse correctamente. Sin ellos, estos temas generarán símbolos de aviso extraños. Consulte las preguntas frecuentes para obtener más información.
Además, tenga en cuenta que los temas solo controlan el aspecto de su mensaje. Este es el texto que ves antes o después del cursor, donde escribirás tus comandos. Los temas no controlan cosas como los colores de la ventana de su terminal (conocido como combinación de colores ) o la fuente de su terminal. Estas son configuraciones que puedes cambiar en tu emulador de terminal. Para obtener más información, consulte ¿Qué es un tema zsh?
Abra una nueva ventana de terminal y su mensaje debería verse así:
En caso de que no haya encontrado un tema adecuado para sus necesidades, consulte la wiki para ver más de ellos.
Si te sientes luchador, puedes dejar que la computadora seleccione uno al azar cada vez que abras una nueva ventana de terminal.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
Y si quieres elegir un tema aleatorio de una lista de tus temas favoritos:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
Si solo sabes qué temas no te gustan, puedes agregarlos de manera similar a una lista ignorada:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Si tiene más preguntas o problemas, puede encontrar una solución en nuestras preguntas frecuentes.
Si eres del tipo que le gusta ensuciarse las manos, estas secciones pueden resonar.
Es posible que algunos usuarios quieran instalar Oh My Zsh manualmente o cambiar la ruta predeterminada u otras configuraciones que acepte el instalador (estas configuraciones también están documentadas en la parte superior del script de instalación).
La ubicación predeterminada es ~/.oh-my-zsh
(oculta en su directorio de inicio, puede acceder a ella con cd ~/.oh-my-zsh
)
Si desea cambiar el directorio de instalación con la variable de entorno ZSH
, ya sea ejecutando export ZSH=/your/path
antes de la instalación o configurándolo antes del final del proceso de instalación de esta manera:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
Si está ejecutando el script de instalación Oh My Zsh como parte de una instalación automática, puede pasar el indicador --unattended
al script install.sh
. Esto tendrá el efecto de no intentar cambiar el shell predeterminado y tampoco ejecutará zsh
cuando finalice la instalación.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
Si estás en China, India u otro país que bloquea raw.githubusercontent.com
, es posible que tengas que sustituir la URL por https://install.ohmyz.sh
para que se instale.
El script de instalación también acepta estas variables para permitir la instalación de un repositorio diferente:
REPO
(predeterminado: ohmyzsh/ohmyzsh
): toma la forma de owner/repository
. Si configura esta variable, el instalador buscará un repositorio en https://github.com/{owner}/{repository}
.
REMOTE
(predeterminado: https://github.com/${REPO}.git
): esta es la URL completa del clon del repositorio de git. Puedes usar esta configuración si quieres instalar desde una bifurcación que no está en GitHub (GitLab, Bitbucket...) o si quieres clonar con SSH en lugar de HTTPS ( [email protected]:user/project.git
) .
NOTA: es incompatible con la configuración de la variable REPO
. Esta configuración tendrá prioridad.
BRANCH
(predeterminado: master
): puede usar esta configuración si desea cambiar la rama predeterminada que se extraerá al clonar el repositorio. Esto puede resultar útil para probar una solicitud de extracción o si desea utilizar una rama distinta de master
.
Por ejemplo:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
existente cp ~ /.zshrc ~ /.zshrc.orig
Puede crear un nuevo archivo de configuración zsh copiando la plantilla que hemos incluido para usted.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
Debe cerrar sesión en su sesión de usuario y volver a iniciarla para ver este cambio.
Una vez que abra una nueva ventana de terminal, debería cargar zsh con la configuración de Oh My Zsh.
Si tiene algún problema al instalar, aquí hay algunas soluciones comunes.
PATH
en ~/.zshrc
si no puede encontrar algunos comandos después de cambiar a oh-my-zsh
.ZSH
en ~/.zshrc
. Si desea anular cualquiera de los comportamientos predeterminados, simplemente agregue un nuevo archivo (que termine en .zsh
) en el directorio custom/
.
Si tiene muchas funciones que combinan bien, puede colocarlas como un archivo XYZ.plugin.zsh
en el directorio custom/plugins/
y luego habilitar este complemento.
Si desea anular la funcionalidad de un complemento distribuido con Oh My Zsh, cree un complemento con el mismo nombre en el directorio custom/plugins/
y se cargará en lugar del de plugins/
.
El comportamiento predeterminado en Oh My Zsh es usar BSD ls
en sistemas macOS y FreeBSD. Si GNU ls
está instalado (como comando gls
), puede optar por usarlo en su lugar. Para hacerlo, puede usar la configuración basada en zstyle antes de obtener oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
Nota: esto no es compatible con DISABLE_LS_COLORS=true
Si desea omitir los alias predeterminados de Oh My Zsh (aquellos definidos en los archivos lib/*
) o los alias de complementos, puede usar la configuración siguiente en su archivo ~/.zshrc
, antes de que se cargue Oh My Zsh . Tenga en cuenta que existen muchas formas diferentes de omitir alias, según sus necesidades.
# Skip all aliases, in lib files and enabled plugins
zstyle ' :omz:* ' aliases no
# Skip all aliases in lib files
zstyle ' :omz:lib:* ' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ' :omz:lib:directories ' aliases no
# Skip all plugin aliases
zstyle ' :omz:plugins:* ' aliases no
# Skip only the aliases from the git plugin
zstyle ' :omz:plugins:git ' aliases no
Puedes combinarlos de otras formas teniendo en cuenta que tienen prioridad ámbitos más específicos:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
Una versión anterior de esta función usaba la siguiente configuración, que se eliminó:
zstyle ' :omz:directories ' aliases no
En su lugar, ahora puede utilizar lo siguiente:
zstyle ' :omz:lib:directories ' aliases no
Esta característica se encuentra actualmente en una fase de prueba y puede estar sujeta a cambios en el futuro. Actualmente tampoco es compatible con administradores de complementos como zpm o zinit, que no obtienen el script de inicio (
oh-my-zsh.sh
) donde se implementa esta característica.
Actualmente tampoco tiene conocimiento de los "alias" que se definen como funciones. Ejemplos de esto son las funciones
gccd
,ggf
oggl
del complemento git.
Las funciones de aviso asíncrono son una característica experimental (incluida el 3 de abril de 2024) que permite a Oh My Zsh representar información de aviso de forma asincrónica. Esto puede mejorar el rendimiento de la renderización rápida, pero es posible que no funcione bien con algunas configuraciones. Esperamos que eso no sea un problema, pero si ve problemas con esta nueva característica, puede desactivarla configurando lo siguiente en su archivo .zshrc, antes de que se obtenga Oh My Zsh:
zstyle ' :omz:alpha:lib:git ' async-prompt no
Si su problema es que el indicador de git simplemente dejó de aparecer, puede intentar forzarlo estableciendo la siguiente configuración antes de obtener oh-my-zsh.sh
. Si aún no funciona, abra un problema con su caso.
zstyle ' :omz:alpha:lib:git ' async-prompt force
De forma predeterminada, se le pedirá que busque actualizaciones cada 2 semanas. Puede elegir otros modos de actualización agregando una línea a su archivo ~/.zshrc
, antes de que se cargue Oh My Zsh :
Actualización automática sin mensaje de confirmación:
zstyle ' :omz:update ' mode auto
Simplemente ofrezca un recordatorio cada pocos días, si hay actualizaciones disponibles:
zstyle ' :omz:update ' mode reminder
Para deshabilitar las actualizaciones automáticas por completo:
zstyle ' :omz:update ' mode disabled
NOTA: puedes controlar la frecuencia con la que Oh My Zsh busca actualizaciones con la siguiente configuración:
# This will check for updates every 7 days
zstyle ' :omz:update ' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ' :omz:update ' frequency 0
También puede limitar la detalle de la actualización con la siguiente configuración:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
Si desea actualizar en cualquier momento (¿tal vez alguien acaba de lanzar un nuevo complemento y no quiere esperar una semana?), solo necesita ejecutar:
omz update
¡Magia! ?
Oh My Zsh no es para todos. Te extrañaremos, pero queremos que esta ruptura sea fácil.
Si desea desinstalar oh-my-zsh
, simplemente ejecute uninstall_oh_my_zsh
desde la línea de comandos. Se eliminará solo y revertirá su configuración anterior bash
o zsh
.
Antes de participar en nuestra encantadora comunidad, lea el código de conducta.
Estoy lejos de ser un experto en Zsh y sospecho que hay muchas maneras de mejorar: si tienes ideas sobre cómo hacer que la configuración sea más fácil de mantener (y más rápida), ¡no dudes en bifurcar y enviar solicitudes de extracción!
También necesitamos gente para probar las solicitudes de extracción. Así que eche un vistazo a los problemas abiertos y ayude en lo que pueda.
Consulte Contribuir para obtener más detalles.
Tenemos (más que) suficientes temas por el momento. Agregue su tema a la página wiki de temas externos.
Oh My Zsh tiene una comunidad vibrante de usuarios felices y colaboradores encantadores. Sin todo el tiempo y la ayuda de nuestros colaboradores, no sería tan fantástico.
¡Muchas gracias!
Estamos en las redes sociales:
Tenemos calcomanías, camisetas y tazas de café disponibles para que demuestres tu amor por Oh My Zsh. ¡Nuevamente te convertirás en la comidilla de la ciudad!
Oh My Zsh se publica bajo la licencia MIT.
Oh My Zsh fue iniciado por el equipo de Planet Argon, una agencia de desarrollo de Ruby on Rails. Consulte nuestros otros proyectos de código abierto.