Urxvt

Материал из Linux Wiki
Перейти к: навигация, поиск

Rxvt-unicode, в основном известный как urxvt - эмулятор терминала VT102 для X Window System. Изначально был форком rxvt, с добавленной поддержкой Unicode. Из дополнительных возможностей стоит отметить поддержку псевдопрозрачности, расширений на Perl (в том числе табы) и возможность отображения шрифтов посредством библиотеки Xft.

Ещё одной интересной (и полезной) особенностью urxvt является возможность работать демоном, что уменьшает используемую память и время запуска при использовании нескольких терминалов.

Режим демона

В режиме демона используются команды urxvtd (собственно, запуск демона) и urxvtc (создание окна терминала), также можно использовать следующий скрипт:

#!/bin/sh
    urxvtc "$@"
    if [ $? -eq 2 ]; then
        urxvtd -q -o -f
        urxvtc "$@"
    fi

Внимание, если Вы используете Debian GNU/Linux (или что-либо из *buntu), данный скрипт уже входит в пакет rxvt-unicode и называется urxvtcd

Настройка

Вся настройка производится через ресурсы X сервера, в файле ~/.Xresources, также можно вынести в отдельный файл, который следует включить директивой
# include .urxvtrc

! -*-	mode: xrdb;	-*-
! геометрия (позиция, размер) окна (в символах). Стандартный размер: 80x24, увеличено для использования табов
!URxvt.geometry: 82x26
! используемый шрифт
URxvt.font: xft:Consolas-10,xft:Monospace
! иконка для иксов
URxvt*iconFile: /usr/share/pixmaps/urxvt_32x32.xpm
! расстояние между строками
URxvt.lineSpace: 0
! между символами
URxvt.letterSpace: -1
! цвет фона
URxvt.background: #000000
! цвет переднего плана
URxvt.foreground: #f6f3e8
! процент "гашения" цвета текста в неактивном окне
URxvt.fading: 40  
!  уменьшение (-100 .. -1) или увеличение (0 .. 100) яркости прозрачного фона
URxvt.shading: 100
! Псевдопрозрачность
URxvt.transparent: false
! Цвет "гашения" текста
URxvt.fadeColor: #666666
! Цвет окрашивания прозрачного фона
!URxvt.tintColor: #354040
! стиль скроллбара
URxvt.scrollstyle: plain
! цвет скроллера
URxvt.scrollColor: #1A1A1A
! цвет основной части скролл-бара
!URxvt.troughColor: #1A1A1A
! скроллбар
URxvt.scrollBar: true
! прокрутка при выводе текста
URxvt*scrollTtyOutput: False
! прокрутка по нажатию клавиши
URxvt*scrollTtyKeypress: True
URxvt*scrollWithBuffer: True
URxvt*secondaryScroll: True
! расположение скроллбара 
URxvt.scrollBar_right: false
URxvt.scrollBar_floating: true
! Мерцание курсора
URxvt.cursorBlink: false
! включить расширения на perl: основные, парсер регулярных выражений(для подсветки URL)
URxvt.perl-ext-common: default,matcher
 
URxvt.matcher.button: 1
! регексп для ссылок:
URxvt.matcher.pattern.0:  (?:https?:\\/\\/|ftp:\\/\\/|news:\\/\\/|mailto:|file:\\/\\/|\\bwww\\.)\n\
                           [a-zA-Z0-9\\x{0410}-\\x{044F}\\-\\@;\\/?:&=%\\$_.+!*\\x27,~#]*\n\
                           (\n\
                             \\([a-zA-Z0-9\\x{0410}-\\x{044F}\\-\\@;\\/?:&=%\\$_.+!*\\x27,~#]*\\)| # Allow a pair of matched parentheses\n\
                             [a-zA-Z0-9\\x{0410}-\\x{044F}\\-\\@;\\/?:&=%\\$_+*~]  # exclude some trailing characters (heuristic)\n\
                           )+
 
! подчёркивать ссылки
! URxvt.underlineURLs: true
! браузер для открытия ссылок
URxvt.urlLauncher: x-www-browser
 
! цвета табов (настройка для прозрачных терминалов)
! URxvt.tabbar-fg: 2
! URxvt.tabbar-bg: -1
! URxvt.tab-fg: 7
! URxvt.tab-bg: -1

Вкладки

Чтобы включить вкладки в urxvt можно просто добавить модуль tabbed к списку загружаемых расширений (параметр URxvt.perl-ext-common ), а можно использовать более продвинутые и универсальные screen или tmux.

Если не устраивают дефолтные клавиатурные комбинации для переключения вкладок, можно заставить urxvt эмулировать их более простыми следующим образом:

! с помощью Mod4-Left эмулируем нажатие ''C-a C-p'' (пред. окно screen)
URxvt.keysym.4-Left:      \001\020
! Mod4-Right = C-a C-n (след. окно)
URxvt.keysym.4-Right:      \001\016
! Mod4-Down = C-a C-c (нов. окно)
URxvt.keysym.4-Down:      \001\003

допустимые keysym-ы можно посмотреть в мануале urxvt, а генерируемые восьмеричные последовательности, например, тут либо в man ascii.

См также

man urxvt