Как работу в терминале сделать удобнее? Нужно добавить в неё краски! В этой статье я покажу как сделать цветное двухстрочное bash приглашение (PS1), как добавить подсветку синтаксиса в редактор nano и как добавить цвета для обычных GNU/Linux команд.
Цветное приглашение (PS1)
Как показала практика, использование двухстрочного варианта приглашения bash является наиболее удобным решением. Появляется целая строка, в которую можно поместить любую необходимую вам информацию, да и любая вложенность текущей директории не будет причинять неудобств в работе.
Мой код формирования PS1 (файл ~/.bashrc):
INPUT_COLOR="\[\033[0m\]" DIR_COLOR="\[\033[0;33m\]" DIR="\w" LINE_VERTICAL="\342\224\200" LINE_CORNER_1="\342\224\214" LINE_CORNER_2="\342\224\224" LINE_COLOR="\[\033[0;37m\]" USER_NAME="\[\033[0;32m\]\u" SYMBOL="\[\033[0;32m\]$" if [[ ${EUID} == 0 ]]; then USER_NAME="\[\033[0;31m\]\u" SYMBOL="\[\033[0;31m\]#" fi PS1="$LINE_COLOR$LINE_CORNER_1$LINE_VERTICAL $USER_NAME $DIR_COLOR$DIR \n$LINE_COLOR$LINE_CORNER_2$LINE_VERTICAL $SYMBOL $INPUT_COLOR"
Для более простой модификации в будущем, я решил формировать свой PS1 таким образом, с разделением на разные участки.
Цветной nano
Для быстрого редактирования конфигурационных файлов многие (и я в том числе) используют редактор nano. По умолчанию в нём нет никакой подсветки синтаксиса, что, иногда, делает процесс чтения затруднительным. К счастью, подсветку синтаксиса можно легко добавить (команды предназначены для Arch Linux).
Установите пакет nano-syntax-highlighting-git из AUR.
$ yaourt -S nano-syntax-highlighting-git
Не забудьте скопировать пример конфигурационного файла в ~/.nanorc.
$ cat /usr/share/nano-syntax-highlighting/nanorc.sample | xargs -0 echo >> ~/.nanorc
Цветные команды
Во первых, если вы используете sudo, вашему .bashrc обязательно понадобится это:
alias sudo='sudo '
Эта команда даёт bash понять, что после sudo есть слово, которое тоже следует проверить.
Затем идут стандартные alias команды для используемых программ:
alias ls='ls --color=always' alias dmesg='dmesg --color=always' alias grep='grep --color=always' alias gcc='gcc -fdiagnostics-color=always' alias pacman='pacman --color=always' alias dir='dir --color=always' alias diff='diff --color=always'
Подсветка для root пользователя
Также следует добавить символическую ссылку на ваш .bashrc для root пользователя (username замените на имя своего пользователя):
# ln -s /home/username/.bashrc /root/.bashrc
Аналогично для .nanorc:
# ln -s /home/username/.nanorc /root/.nanorc