Tenemos la suerte de contar con un sistema operativo capaz de ser personalizado al milímetro, cada aspecto de Linux es capaz de ser moldeado a nuestro gusto y eso es fantástico. Una de las opciones que más se pueden personalizar es la terminal. Podemos personalizar el prompt, el esquema de colores, muchos de los programas que se ejecutan en ella y mil opciones más mediante archivos de configuración.

Desde los primeros días en los que empecé a escribir en Bitelia, he estado recibiendo multitud de mensajes en las redes sociales y comentarios en los posts preguntándome por el proceso que he llevado para personalizar la terminal, lo que he puesto en los archivos de configuración para personalizar el prompt o los plugins que he usado para que Vim se vea así de bien. Por ello, he decidido que lo mejor es hacer un post detallando el proceso para que cuando me volváis a preguntar, poder apuntaros a un sitio con toda la información. Vamos a ello.

Mi estúpida y sensual shell

personalizar-la-terminal

Lo primero que tenéis que saber es que no uso Bash, uso Fish. Las razones por las que uso esta maravillosa y colorida shell las podéis ver en el análisis que dediqué a las shell más usadas en Linux. Así que vamos a instalarla:

$ sudo apt-get install fish (Ubuntu y derivadas)
$ pacman -S fish (Arch Linux)


Esto nos dejará con una shell que colorea la sintaxis de los comandos que reconoce. Para editar los colores de resaltado pondremos lo siguiente en la terminal:

$ fish_config


Ello nos abrirá el navegador web y podremos hacer los cambios que queramos en los colores, lo único que yo he hecho ha sido cambios los colores de los comentarios (las líneas que empiezan por #) de rojo a rosa que se ve mejor con el tema solarized dark. Si queremos quedarnos con esa shell por defecto pondremos en la terminal chsh -s /usr/bin/fish.

Mi estúpido y sensual prompt

personalizar-la-terminal

No penséis que he invertido mucho tiempo en personalizar el prompt, porque no hace falta hacerlo. Existen herramientas que nos van a ayudar a dejar la shell con un aspecto muy logrado sin mover un dedo. Una de ellas es Oh my Fish!, una herramienta inspirada en Oh my Zsh! de la que ya hablé en un post anterior. La instalación es sencillísima.

$ curl -L https://github.com/bpinto/oh-my-fish/raw/master/tools/install.fish | fish


Listo, ahora solo falta editar el archivo ~/.config/fish/config.fish y poner la siguiente línea: set fish_theme agnoster. Esto nos dejará con un prompt que nos da mucha información interesante, como cuando un proceso falla o del sistema de control de versiones Git. También os recomiendo probar otros temas que vienen, es posible que encontréis otro más a vuestro estilo.

El tema agnoster queda genial si usamos el esquema de colores solarized dark, el cual ya lo trae por defecto el emulador de terminal Konsole. Totalmente recomendado.

Mi estúpido y sensual Vim (y el super sexy Tmux)

fish-shell-vim-tmux-personalizados

La personalización de Vim puede ser llevada hasta el extremo, pero para ello recomiendo un gestor de plugins. El gestor que yo utilizo se llama Vundle y lo podréis instalar con el siguiente comando:

$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim


Hay más gestores de plugins pero al ser el primero que probé, no me he molestado en mirar otros. Ahora añadiremos lo siguiente en la parte superior de nuestro ~/.vimrc:

set nocompatible ” usar Vim en lugar de Vi, requerido para que funcione el gestor filetype off ” requerido para que funcione el gestor

” lugar donde se encuentra el gestor de plugins set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin() ” o si no, pasar una ruta donde Vundle debería instalar Plugins “call vundle#begin(‘~/some/path/here’)

” Deja que Vundle se encargue de gestionar los plugins, requerido Plugin ‘gmarik/Vundle.vim’

” Ejemplos de formatos de plugins soportados ” Mantén los comandos para Plugins dentro de vundle#begin/end. ” plugin GitHub repo ” Plugin ‘tpope/vim-fugitive’ ” plugin from http://vim-scripts.org/vim/scripts.html ” Plugin ‘L9’ ” Git plugin no GitHub ” Plugin ‘git://git.wincent.com/command-t.git’ ” git repos local (para crear tus propios plugins) ” Plugin ‘file:///home/gmarik/path/to/plugin’ ” el vim script sparkup está en un subdirectorio de un repo llamado vim ” pasa la ruta para asignar el runtimepath de forma correcta ” Plugin ‘rstacruz/sparkup’, {‘rtp’: ‘vim/’} ” evita un conflicto de nombre con L9 ” Plugin ‘user/L9’, {‘name’: ‘newL9’}

” MIS PLUGINS ” Navegador de archivos Plugin ‘scrooloose/nerdtree’ Plugin ‘jistr/vim-nerdtree-tabs’ let g:nerdtree_tabs_open_on_console_startup = 1 ” Una barra de estado muy chula, muestra los modos y se integra con vim-gitgutter Plugin ‘bling/vim-airline’ ” lean & mean status/tabline for vim that’s light as air let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 let g:airline_theme = ‘badwolf’ set laststatus=2 Plugin ‘airblade/vim-gitgutter’ highlight clear SignColumn ” muestra barra a la izquierda con los cambios ” Colores para tmux Plugin ‘edkolev/tmuxline.vim’ ” Plugin que integra Git con Vim

” Esquemas de colores Plugin ‘sickill/vim-monokai’ colorscheme monokai syntax enable

” Todos los plugins deben añadirse antes de aquí call vundle#end() ” requerido para que funcione el gestor filetype plugin indent on ” requerido para que funcione el gestor ” para ignorar los cambios en la indentación de plugins, usa: “filetype plugin on ” ” Ayuda del gestor de plugins Vundle ” :PluginList – listar plugins ” :PluginInstall(!) – instalar o actualizar plugins ” :PluginSearch(!) foo – buscar foo ” :PluginClean(!) – confirmar la eliminación de plugins ” ” ejecuta :h vundle para más detalles ” Pon todo lo que no tenga que ver con Vundle después de aquí, por ejemplo: set number ” mostrar números de línea

Es el momento de instalar los plugins, lo haremos desde Vim ejecutando :PluginInstall, al terminal veremos que el esquema de colores no se descarga en la carpeta adecuada, tenemos que moverlo manualmente:

$ cp .vim/bundle/vim-monokai/colors/monokai.vim .vim/colors/


Listo. Además ahora, cuando ejecutemos Tmux, abriremos Vim y automáticamente cambiará sus colores a los que tenga la barra de colores Airline. No es permanente pero como solo uso Tmux con Vim, para mí no supone problema alguno. También tendremos que decirle a la terminal que use una de las PowerLineFonts, que sirven para ver los iconos de flechas, ramas de Github etc. Con esto ya tendréis Vim personalizado, uso mil plugins más pero eso ya es algo que dejo para el curso de Vim.

Ahora te toca a ti compartir tu estúpida y sensual Terminal

personalizar la terminal

¿Tienes una terminal con un aspecto del que estés orgulloso? Pues mándame una captura al correo [email protected]ertextual.com y descríbeme el proceso que usaste para personalizarla. Recopilaré las mejores y las mostraré para que todos podamos aprovechar el buen gusto de vosotros, los lectores.

Espero que os haya servido de ayuda esta guía y si tenéis alguna duda ya sabéis, preguntadme por los comentarios, redes sociales o email.