Forum bépo

Forum des utilisateurs du bépo

Vous n'êtes pas identifié(e).

#1 5/1/2011 12:14:00

Sephi
Membres
Inscription : 30/9/2010
Messages : 29

[TypeMatrix] Touche Esc dans Vim

Comme tout le monde le sait, la touche Esc est très utilisée dans Vim mais elle est très mal placée sur les claviers actuels. J'ai trouvé plein de solutions qui consistent à intervertir les touches Esc et Caps Lock, solution bien évidemment inutile sur un clavier TM vu la position du Caps Lock. D'autres solutions qui impliquaient les touches Maj ou Alt et Espace n'ont pas fonctionné pour moi et la solution du wiki, proposant un remappage de la touche Tab, n'était pas envisageable pour moi car je l'utilise beaucoup. Après avoir un peu réfléchi j'ai donc décidé d'utiliser la touche « Bureau », très accessible avec le pouce droit, et facilement remappable dans les paramètres clavier de KDE. Cette astuce aurait-elle sa place sur la page du wiki dédiée à vim ?

Même si ma solution me convient parfaitement, je me demandais comment vous autres Typematriciens vimistes vous êtes arrangés avec cette touche Esc ?

Hors ligne

#2 5/1/2011 13:12:46

amic
Membres
Inscription : 27/11/2009
Messages : 265

Re : [TypeMatrix] Touche Esc dans Vim

Je pense qu'elle aurait plutôt sa place dans la page du wiki dédiée au TypeMatrix (il y a des astuces listées en bas).

Hors ligne

#3 5/1/2011 14:16:37

Nimal
Membres
Lieu : Enghien, Belgique
Inscription : 17/7/2010
Messages : 163

Re : [TypeMatrix] Touche Esc dans Vim

Personnellement, j'utilise la touche « enter » via la fonction suivante dans mon _vimrc :

function! ToggleEnterMapping() "{{{2    id=090608221911
    if empty(mapcheck('<CR>', 'i'))
        inoremap <CR> <Esc>`^
        set guicursor-=a:blinkon0
        return "\<Esc>"
    else
        iunmap <CR>
        set guicursor+=a:blinkon0
        return "\<CR>"
    endif
endfunction
call ToggleEnterMapping()
inoremap <expr> <S-CR> ToggleEnterMapping()

L'avantage est que cette fonction permet de passer d'un mode « enter normal » au mode « enter = esc » via le mapping <S-CR>. Le « set guicursor » permet de savoir visuellement dans quel mode on se trouve sans devoir jouer avec la syntax. ;-)

sinon, tu peux toujours ajouter un mapping du style

inoremap <S-CR> <Esc>
imap ;; <Esc>

En espérant que cela puisse t'aider.

@amic :
Possible, mais cette astuce n'est pas nécessairement liée au TM.

Dernière modification par Nimal (5/1/2011 14:23:13)


Bépo non-modifié sur TypeMatrix 2030
trackball Kensington SlimBlade
Personnes converties à ce jour: 5 \o/  wink

Hors ligne

#4 6/1/2011 12:45:05

nemolivier
Modo
Lieu : Paris
Inscription : 4/8/2009
Messages : 210
Site Web

Re : [TypeMatrix] Touche Esc dans Vim

@Nimal. Utilisateur de vim, je trouve ça très intéressant, mais je ne comprend pas tout. Tu peux expliquer un peu mieux ce à quoi sers ton script ? <S-CR>, c'est quel raccourcis ? Maj-Enter ?
De plus il est normale que le « "{{ » de la première ligne ne se ferme nulle part ?

Moi qui utilise peu TAB (je ne programme pas), j'ai mon esc sur tab, comme sur le wiki.

@Sephi, tu peux mettre ton astuce ou tu veux (page vim ou TM™), mais ce serait bien de mettre un lien dans la page où tu ne la mets pas !
On a aussi une section trucs et astuces sur le wiki.

Hors ligne

#5 6/1/2011 14:40:00

Sephi
Membres
Inscription : 30/9/2010
Messages : 29

Re : [TypeMatrix] Touche Esc dans Vim

J'ai mis ça sur la page dédiée au TM dans la partie « Trucs et astuces », et j'ai fait un lien dessus depuis la page Vim.

@Nimal : l'utilisation de <S-CR> est une bonne idée mais c'est une combinaison à 2 touches. sad sinon tu peux préciser le truc du curseur ? J'ai pas tout compris.
@nemolivier : je n'ai pas non plus tout compris au script mais pour le « "{{ », ça représente un commentaire (le guillemet double sert à faire des commentaires).

Hors ligne

#6 6/1/2011 15:31:28

nemolivier
Modo
Lieu : Paris
Inscription : 4/8/2009
Messages : 210
Site Web

Re : [TypeMatrix] Touche Esc dans Vim

Oui, enfin, cela dit, une combinaison de deux touche, c'est peut être mieux qu'un ESC loin… Tu peux mapper le esc sur un caractère « rare » pour ton usage mais facile d'accès quitte à devoir faire l'impasse dessus : le « € » par exemple… combinaison de deux touches (dont le AltGr), mais très accessible. Et mettre le € ailleurs (il est peut-être accessible avec la touche morte currency, je ne peux pas tester, mon compose ne fonctionne toujours pas sad)
Je me demande si je ne vais pas essayer…

Merci pour l'ajout au wiki (et honte sur moi d'avoir oublié que le « " » c'est pour les commentaires…)

Hors ligne

#7 6/1/2011 19:18:59

Nimal
Membres
Lieu : Enghien, Belgique
Inscription : 17/7/2010
Messages : 163

Re : [TypeMatrix] Touche Esc dans Vim

Pour les deux touches… c'est vrai, mais à l'usage on reste souvent dans un mode ou dans l'autre. Je passe assez rarement de l'un à l'autre.

Oui, c'est bien Maj.+enter ; pardon pour le manque de détail.

Le « truc du curseur » est assez simple « guicursor-=a:blinkon0 » permet de stopper le clignotement du curseur et « guicursor+=a:blinkon0 » de le faire clignoter de nouveau.
On peut aussi en changer la couleur, mais là il faudra parfois rafraîchir avec « syntax on » ; ce qui reste plutôt lourd à mon sens.

Pour le {{{, c'est parce-que je me suis contenter de coller-copier mon code. Il s'agit du marqueur « standart » de pliage — ou fold — dans Vi.
Et non, il n'est pas nécessaire de le fermer ; le chiffre qui le suit indique le niveau de pli.
Plus d'infos ici pour ceux qui le désirent.

Bien à vous tous,


Bépo non-modifié sur TypeMatrix 2030
trackball Kensington SlimBlade
Personnes converties à ce jour: 5 \o/  wink

Hors ligne

Pied de page des forums