Urxvt
De Vim-fr.
rxvt-unicode, aussi appelé URxvt, est un émulateur de terminal VT102 pour le système de fenêtres X.
URxvt est un logiciel libre distribué sous licence GNU/GPL.
Il est issu de Rxvt (R pour « our ») lui même issu de Xvt (pour « X Virtual Terminal »)
Il supporte notamment :
- L'internationalisation via Unicode
- L'affichage simultané de différentes polices (dont Xft) et locales
- Un mode démon qui permet d'économiser des ressources
- Un mécanisme d'extensions Perl
- Une pseudo-transparence
Sommaire |
Les bases
Configuration
Toutes les modifications se font dans le fichier ~/.Xdefaults (ou ~/.Xresources), si le fichier n'existe pas, créez le. Si il existe, rajoutez les informations à la fin. Utilisez xrdb (xrdb -load ~/.Xdefaults) pour appliquer vos changements.
La liste de ces ressources n'est pas exhaustive, loin de là; voyez les toutes dans man urxvt.
{{bleu |Vraie}} transparence }}
URxvt*transparent: false
{{bleu|Notifications du terminal au WM}}
Uxvt.urgentOnBell: true
{{bleu|!Activation de la bordure}}
URxvt*borderLess: true
{{bleu|!Couleur de fond}}
URxvt*background: black
{{bleu|!Couleur de l'écriture}}
URxvt*foreground: white
{{bleu|!Scrollbar activée}}
URxvt*scrollBar: false
{{bleu| !Clic sur un lien ouvre firefox}}
URxvt.urlLauncher: firefox
{{bleu|!Activation des options par défaut, et des clics sur les liens}}
URxvt.perl-ext-common: default,matcher
{{bleu|!Couleur des liens}}
URxvt.colorBD: white
{{bleu|!Couleur du curseur}}
URxvt.cursorColor: #ffffff
{{bleu|!Clignotement du curseur}}
URxvt.cursorBlink: true
{{bleu|!Taille du terminal}}
URxvt.geometry: 80×25
{{bleu|!Taille de l'écriture}}
URxvt.font: xft:DejaVu Sans Mono:pixelsize=14:antialias=true
{{bleu|!Descend au bas de l'écran lorsqu'une touche non-spéciale est appuyée}}
URxvt*scrollTtyKeypress: on
{{bleu|!Ne descend pas au bas de l'écran à l'apparition d'une nouvelle ligne}}
URxvt*scrollTtyOutput: off
{{bleu|!Se déplace pour compenser l'apparition de nouvelles lignes}}
URxvt*scrollWithBuffer: on
{{bleu|!Pourcentage d'estompage lorsque le terminal n'a pas le focus}}
URxvt*fading: 50Sélection de texte
Dans Urxvt sans que Vim n'utilise la souris :
-
Mouse-1: sélection -
Ctrl+Alt+Mouse-1: sélection verticale
Dans Urxvt avec Vim utilisant la souris (cf. :h mouse)
(pas tout à fait pratique, notamment s'il y a des replis,
mais pouvant aider dans d'autres programmes en mode-texte utilisant la souris
(comme Elinks)) :
-
Shift+Mouse-1: sélection -
Shift+Ctrl+Alt+Mouse-1: sélection verticale
Les petits plus
Coloration du curseur en fonction du mode de Vim
Lorsque l'on utilise l'interface graphique GTK (vim -g),
la forme du curseur change en fonction du mode dans lequel Vim se trouve (Normal ou Insertion).
Urxvt ne permet pas encore (ni d'ailleurs aucun autre terminal à ma connaissance), de changer la forme du curseur, néanmoins il est possible de changer sa couleur.
C'est ce que fait ce bout de configuration à incorporer à son ~/.vimrc.
Notez qu'est également supporté le cas où screen est lancé dans Urxvt (ce que je vous recommande).
if !has("gui_running") " À défaut de pouvoir changer la forme du curseur " en fonction du mode de Vim, on peut changer sa couleur " en passant par des fonctions de contrôle. if &term =~ "rxvt-unicode" " From ECMA-48: " OSC - OPERATING SYSTEM COMMAND: " Representation: 09/13 or ESC 05/13 (this is \033] here) " OSC is used as the opening delimiter of a control string for operating system use. " The command string following may consist of a sequence of bit combinations " in the range 00/08 to 00/13 and 02/00 to 07/14. " The control string is closed by the terminating delimiter STRING TERMINATOR (ST). " The interpretation of the command string depends on the relevant operating system. " From :h t_SI: " Added by Vim (there are no standard codes for these): " t_SI start insert mode (bar cursor shape) " t_EI end insert mode (block cursor shape) let &t_SI = "\033]12;red\007" let &t_EI = "\033]12;green\007" :silent !echo -ne "\033]12;green\007" autocmd VimLeave * :silent :!echo -ne "\033]12;green\007" endif " screen rajoute une couche qu'il faut percer. if &term =~ "screen" " From man screen: " Virtual Terminal -> Control Sequences: " ESC P (A) Device Control String " Outputs a string directly to the host " terminal without interpretation. " ESC \ (A) String Terminator let &t_SI = "\033P\033]12;red\007\033\\" let &t_EI = "\033P\033]12;green\007\033\\" :silent !echo -ne "\033P\033]12;green\007\033\\" autocmd VimLeave * :silent :!echo -ne "\033P\033]12;green\007\033\\" endif endif
Utilisation de C-Tab pour changer d'onglet
if !has("gui_running") " La plupart des émulateurs de terminaux envoient Tab pour C-Tab, " aussi ai-je dans mon ~/.Xresources : " URxvt*keysym.C-Tab: \033[27;5;9~ nmap <Esc>[27;5;9~ :tabprevious<CR> endif
