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.

<source lang="text"> Modèle:Bleu transparence }} URxvt*transparent: false Modèle:Bleu Uxvt.urgentOnBell: true Modèle:Bleu URxvt*borderLess: true Modèle:Bleu URxvt*background: black Modèle:Bleu URxvt*foreground: white Modèle:Bleu URxvt*scrollBar: false Modèle:Bleu URxvt.urlLauncher: firefox Modèle:Bleu URxvt.perl-ext-common: default,matcher Modèle:Bleu URxvt.colorBD: white Modèle:Bleu URxvt.cursorColor: #ffffff Modèle:Bleu URxvt.cursorBlink: true Modèle:Bleu URxvt.geometry: 80×25 Modèle:Bleu URxvt.font: xft:DejaVu Sans Mono:pixelsize=14:antialias=true Modèle:Bleu URxvt*scrollTtyKeypress: on Modèle:Bleu URxvt*scrollTtyOutput: off Modèle:Bleu URxvt*scrollWithBuffer: on Modèle:Bleu URxvt*fading: 50 </source>

Sé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).

<source lang="vim"> 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 </source>

Utilisation de C-Tab pour changer d'onglet

<source lang="vim"> 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 </source>

Liens externes