{"id":691,"date":"2022-03-04T02:05:00","date_gmt":"2022-03-04T01:05:00","guid":{"rendered":"https:\/\/blog.pirulug.com\/?p=691"},"modified":"2022-03-04T02:05:00","modified_gmt":"2022-03-04T01:05:00","slug":"archlinux-instalacion-y-configuracion-de-zsh","status":"publish","type":"post","link":"https:\/\/blog.pirulug.com\/?p=691","title":{"rendered":"ArchLinux instalaci\u00f3n y configuraci\u00f3n de ZSH"},"content":{"rendered":"<h2 id=\"\u00bfqu\u00e9-es-zsh\">\u00bfQu\u00e9 es ZSH?<\/h2>\n<p>\n  Es un potente int\u00e9rprete de comandos que puede funcionar como shell<br \/>\n  interactiva y como int\u00e9rprete de lenguaje de scripting.\n<\/p>\n<h2 id=\"ventajas.\">Ventajas.<\/h2>\n<ul>\n<li>Eficiencia<\/li>\n<li>Completado de tabulador mejorado<\/li>\n<li>Expansi\u00f3n de nombres de fichero mejorada<\/li>\n<li>Manejo de arrays mejorado<\/li>\n<li>Totalmente personalizable<\/li>\n<\/ul>\n<h2 id=\"instalaci\u00f3n-zsh\">Instalaci\u00f3n ZSH<\/h2>\n<p>Antes de iniciar si quer\u00e9is saber qu\u00e9 shell est\u00e1is utilizando ejecutad:<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token keyword&quot;&gt;echo&lt;\/span&gt; &lt;span class=&quot;token variable&quot;&gt;$SHELL&lt;\/span&gt;\n<\/code><\/pre>\n<p>Os aparecer\u00e1 por ejemplo \u00ab\/bin\/bash\u00bb si us\u00e1is bash.<\/p>\n<p>\n  Ahora debemos de instalar los siguientes paquetes \u00abzsh\u00bb, \u00abzsh-autosuggestions\u00bb<br \/>\n  y \u00abzsh-completions\u00bb, para ello ejecutamos:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;sudo&lt;\/span&gt; pacman -S zsh zsh-completions zsh-autosuggestions\n<\/code><\/pre>\n<p>\n  Ahora ya podemos cambiar la shell por defecto a ZSH, para ello ejecutamos lo<br \/>\n  siguiente:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">chsh -s \/bin\/zsh\n<\/code><\/pre>\n<p>\n  Una vez hemos cambiado nuestra shell a ZSH,<br \/>\n  <strong>debemos de cerrar sesi\u00f3n o reiniciar para que el cambio sea<br \/>\n    visible.<\/strong>\n<\/p>\n<h2 id=\"personalizar-zsh-con-oh-my-zsh.\">Personalizar ZSH con Oh My Zsh.<\/h2>\n<p>\n  Debemos de asegurarnos que tenemos instalado git y curl, podemos hacerlo con<br \/>\n  los siguientes comandos:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;git&lt;\/span&gt; --version\n\ncurl --version\n<\/code><\/pre>\n<p>Si os faltan solo debeis de instalarlos con:<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;sudo&lt;\/span&gt; pacman -S &lt;span class=&quot;token function&quot;&gt;git&lt;\/span&gt; curl\n<\/code><\/pre>\n<p>\n  Tras esto ya podemos personalizarlo, para ell nos vamos a la web de<br \/>\n  <a href=\"https:\/\/ohmyz.sh\/\">Oh My Zsh<\/a> para clonar el repositorio y<br \/>\n  ejecutamos:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">sh -c &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$(&lt;\/span&gt;curl -fsSL https:\/\/raw.github.com\/ohmyzsh\/ohmyzsh\/master\/tools\/install.sh&lt;span class=&quot;token variable&quot;&gt;)&lt;\/span&gt;&lt;\/span&gt;&quot;&lt;\/span&gt;\n<\/code><\/pre>\n<p>\n  Ya se ha personalizado con el tema por defecto \u00abrobbyrussell\u00bb. Podemos cambiar<br \/>\n  por otro que nos guste, podemos elegir desde<br \/>\n  <a href=\"https:\/\/github.com\/ohmyzsh\/ohmyzsh\/wiki\/Themes\">aqui<\/a>, voy a usar<br \/>\n  \u00abagnoster\u00bb, para ello editamos el siguiente archivo:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;nano&lt;\/span&gt; ~\/.zshrc\n<\/code><\/pre>\n<p>\n  Y buscamos ZSH_THEME=\u00bbrobbyrusell\u00bb, para cambiarlo por ZSH_THEME=\u00bbagnoster\u00bb\n<\/p>\n<p>Cerramos sesi\u00f3n y volvemos a entrar para ver el cambio.<\/p>\n<h2 id=\"personalizaci\u00f3n-pro-\ud83d\ude09-\u2013-tema-powerlevel10k\">\n  Personalizaci\u00f3n PRO \ud83d\ude09 \u2013 TEMA: powerlevel10k<br \/>\n<\/h2>\n<p>\n  Os voy a mostrar como dejarla como a mi me gusta, para ello vamos a utilizar<br \/>\n  el tema <strong>powerlevel10k<\/strong>, para ver toda su documentaci\u00f3n pode\u00eds<br \/>\n  acceder a la<br \/>\n  <strong><a href=\"https:\/\/github.com\/romkatv\/powerlevel10k\/\">web del repositorio<\/a><\/strong>.\n<\/p>\n<p>Para poder instalarlo vamos a seguir estos sencillos pasos:<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">yay -S --noconfirm zsh-theme-powerlevel10k-git\n<\/code><\/pre>\n<p>Una vez instalado, ejecutamos lo siguiente:<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token keyword&quot;&gt;echo&lt;\/span&gt; &lt;span class=&quot;token string&quot;&gt;&#039;source \/usr\/share\/zsh-theme-powerlevel10k\/powerlevel10k.zsh-theme&#039;&lt;\/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;\/span&gt;~\/.zshrc\n<\/code><\/pre>\n<p>\n  Ahora nos recomiendan instalar unas fuentes y simbolos para que el tema<br \/>\n  funcione correctamente, para ello ejecutamos:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;sudo&lt;\/span&gt; pacman -S powerline-common awesome-terminal-fonts\n\nyay -S --noconfirm ttf-meslo-nerd-font-powerlevel10k\n<\/code><\/pre>\n<h3 id=\"configurar-powerlevel-mediante-el-asistente.\">\n  Configurar POWERLEVEL mediante el asistente.<br \/>\n<\/h3>\n<p>\n  Otra cosa buena de este tema es que tiene un asistente para que la<br \/>\n  configuraci\u00f3n sea mas sencilla, solo debemos ejecutar:\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">p10k configure\n<\/code><\/pre>\n<p>\n  Clonamos los repositorios <strong>zsh-syntax-highlighting<\/strong> y<br \/>\n  <strong>zsh-autosuggestions<\/strong>\n<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;git&lt;\/span&gt; clone https:\/\/github.com\/zsh-users\/zsh-syntax-highlighting.git &lt;span class=&quot;token variable&quot;&gt;${ZSH_CUSTOM:-~\/.oh-my-zsh\/custom}&lt;\/span&gt;\/plugins\/zsh-syntax-highlighting\n<\/code><\/pre>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;git&lt;\/span&gt; clone https:\/\/github.com\/zsh-users\/zsh-autosuggestions &lt;span class=&quot;token variable&quot;&gt;${ZSH_CUSTOM:-~\/.oh-my-zsh\/custom}&lt;\/span&gt;\/plugins\/zsh-autosuggestions\n<\/code><\/pre>\n<p>Editamos el archivo .zshrc<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;nano&lt;\/span&gt; ~\/.zshrc\n<\/code><\/pre>\n<p>Y le a\u00f1adimos en plugins:<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">plugins&lt;span class=&quot;token operator&quot;&gt;=&lt;\/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;\/span&gt;git\nzsh-autosuggestions\nzsh-syntax-highlighting\n&lt;span class=&quot;token punctuation&quot;&gt;)&lt;\/span&gt;\n<\/code><\/pre>\n<p>Ya solo nos queda recargar el fichero o cerrar la sesi\u00f3n.<\/p>\n<pre class=\"language-bash\"><code class=\"prism  language-bash\">&lt;span class=&quot;token function&quot;&gt;source&lt;\/span&gt; ~\/.zshrc\n<\/code><\/pre>\n<p>\n  Ahora solo nos queda seguir las instrucciones, en el video os lo muestro todo.\n<\/p>\n<p>Con esto os queda una terminal muy practica, eficiente y bonita.<\/p>\n<p>Hasta aqu\u00ed os dejo el manual, espero que os guste<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es ZSH? Es un potente int\u00e9rprete de comandos que puede funcionar como shell interactiva y como int\u00e9rprete de lenguaje de scripting. Ventajas. Eficiencia Completado de tabulador mejorado Expansi\u00f3n de nombres de fichero mejorada Manejo de arrays mejorado Totalmente personalizable Instalaci\u00f3n ZSH Antes de iniciar si quer\u00e9is saber qu\u00e9 shell est\u00e1is utilizando ejecutad: &lt;span class=&quot;token [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[31,80],"class_list":["post-691","post","type-post","status-publish","format-standard","hentry","category-sin-categoria","tag-arch-linux","tag-linux"],"_links":{"self":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts\/691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=691"}],"version-history":[{"count":0,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=\/wp\/v2\/posts\/691\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.pirulug.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}