2 votes

Comment améliorer dans vim de MacOS Mojave la vitesse du défilement vertical avec les touches bas/haut ?

Je transfère le message original de StackOverflow ( Poste original ) à ici puisqu'il s'agit de la spécificité d'Apple.

J'ai un nouveau macbook avec Mojave et vim déjà installé.

Malheureusement, même pour les petits fichiers source, le curseur est très rapide lorsque je parcours la partie courante du fichier où je me trouve mais il devient très lent lorsque je suis au-dessus de cette page actuelle (la même chose se produit si je suis au-dessus ou en dessous de cette partie) avec les touches haut/bas.

Je ne parle pas de la "vitesse de défilement de la souris" mais du défilement avec les touches haut/bas.

J'ai vu et essayé d'appliquer différentes solutions suggérées sur le web mais aucune d'entre elles ne fonctionne pour moi (désactiver cursorline en utilisant un ~/.vimrc etc ...).

Peut-être qu'il y a un conflit avec certaines options dans mon dossier. ~/.vimrc . Ci-dessous mon ~/.vimrc :

set encoding=utf-8
scriptencoding utf-8
set ic
command Il :%s/^/\=line('.'). ' '
set hlsearch
set shiftwidth=2        " number of spaces to use for auto indent
set autoindent          " copy indent from current line when starting a new line
set nu
syntax on               " syntax highlighting
set backspace=indent,eol,start " delete with backspace 
"TOhtml
let html_use_css=1
let html_number_lines=1
let html_no_pre=0
highlight DiffAdd    cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffDelete cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffText   cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=Red

Je me suis transformé en System Preferences le délai entre 2 touches répétées à une petite valeur :

Ainsi, dans le Terminal par défaut du macbook Mojave, je peux me déplacer rapidement avec les touches gauche/droite sur la ligne de commande.

Y a-t-il une relation entre ce petit délai que j'ai réglé et ce lent défilement vertical avec les touches donw/up dans vim ?

Un autre bogue qui doit être connu est que certaines parties de code commentées (par exemple lors de l'édition du code Python avec vim) apparaît comme non commenté lors du défilement avec les touches haut/bas et le contraire se produit également. : quelqu'un a déjà eu ce comportement étrange ? ce problème ne se produit pas lorsque je navigue dans un fichier avec la commande CTRL+F o CTRL+B des raccourcis.

Toute aide est la bienvenue.

UPDATE 1 :

Enfin, j'arrive à augmenter la vitesse avec le lien suivant :

https://rehmann.co/blog/better-key-rates-osx/

J'ai décidé de passer à iterm2 . Donc, en guise de conclusion partielle, la solution a été de définir les options les plus grosses dans System Preferences et mis dans ~/.bashrc :

#disable special characters when holding keys
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

# normal minimum is 15 (225 ms)
defaults write -g InitialKeyRepeat -float 10.0
defaults write NSGlobalDomain InitialKeyRepeat -float 10.0

# normal minimum is 2 (30 ms)
defaults write NSGlobalDomain KeyRepeat -float 1.0
defaults write -g KeyRepeat -float 1.0
############# Enable spees ######################

C'est peut-être même trop rapide . C'est pourquoi je me demande s'il existe un moyen d'appliquer cette grande vitesse uniquement pour les touches sélectionnées c'est-à-dire dans mon cas, J'aimerais avoir ce comportement pour les touches bas/haut et gauche/droite uniquement. et PAS pour les autres touches (lettres ou caractères spéciaux) ?

Est-il possible d'obtenir ce comportement ?

UPDATE 2 : Ok, j'ai enfin trouvé l'astuce : in iterm2 terminal, il y a une option de rendu GPU sur l'image ci-dessous :

GPU rendering

Si vous n'avez pas de courant, le rendu GPU a été désactivé par défaut comme, donc décochez la première case pour pouvoir bénéficier du rendu GPU lorsque l'ordinateur est sur batterie :

Uncheck first option to  avoid GPU rendering disabled

C'est tout !

0 votes

@ankii merci, j'ai reçu vos commentaires, je peux accélérer le déplacement du curseur dans le terminal (iterm2) et dans vim (horizontalement et verticalement). Mais maintenant, je voudrais sélectionner cette haute vitesse uniquement pour les touches flèches haut/bas et gauche/droite et pour la touche delete. Je voudrais une vitesse plus faible pour les autres touches (je veux dire pour les lettres et les caractères spéciaux) : est-il possible de faire une sélection sur les touches avec différentes vitesses dédiées ? Salutations

0 votes

Oui, j'ai vu la modification. Je ne suis pas en mesure de répondre au sujet de vim, mais j'ai commenté pour vous faire savoir que la question était très peu claire à l'époque. Il y a des questions qui traînent ici et là comme celle-ci " Y a-t-il une relation entre ce petit délai que j'ai réglé et ce lent défilement vertical avec les touches donw/up dans vim ? " et " Quelqu'un a déjà eu ce comportement étrange ? " Et quel que soit le résultat de cette prime, postez même une réponse partielle ci-dessous !

0 votes

Cette question et cette prime avaient pour but d'accélérer le défilement. Souhaitez-vous continuer à accélérer le défilement ou voulez-vous poser une question sur le nouveau problème ? Dans le premier cas, posez une nouvelle question sur le nouveau problème et postez une réponse ici, avec la solution que vous avez trouvée. Dans le second cas, je pense que cela affectera également la réponse déjà postée. Les deux combinés en font une question très peu claire et un peu large, et une mauvaise utilisation potentielle de la prime.

0voto

poige Points 898

Comment améliorer dans vim de MacOS Mojave la vitesse du défilement vertical avec les touches bas/haut ?

Vous n'avez pas précisé quelle variante de Vim vous utilisez, alors qu'il n'existe pas de "Vim standard" sous MacOS. En fait, beaucoup de choses ne sont pas décrites non plus, notamment la géométrie des fenêtres de Terminal (plus il y a de texte affiché en même temps, plus il faut de cycles CPU pour le faire défiler), le profil actif de Terminal (certains sont plus fins et d'autres ont des graphismes un peu complexes grâce à des effets supplémentaires - "Silver Aerogel" en est un exemple).

J'utilise la version homebrew de Vim et je peux dire que son défilement est assez rapide (au moins il n'y a pas de lenteur) à la fois dans Terminal et dans iTerm2.

D'où les quelques suggestions qui en découlent logiquement :

  • Essayez de changer soit Vim soit le terminal (ou les deux).
  • Essayez d'utiliser la version GUI ( gvim ) et comparer ses performances de défilement.

Vous pouvez essayer la surveillance du processeur de Activity Monitor (avec l'intervalle de mise à jour le plus court possible) pour voir s'il montre des processus importants consommant du processeur pendant le défilement dans Vim.

0 votes

Merci, vous pouvez voir ma solution avec iterm2 terminal. Le rendu GPU est désactivé par défaut si l'ordinateur est débranché, il faut donc décocher cette option et accélérer le déplacement du curseur dans l'éditeur ou dans le terminal. ìterm2 est obtenu. Reste la question de la sélection de la vitesse de répétition en fonction des "lettres classiques" et seulement des "touches fléchées" mais ce sera un autre sujet et post. Salutations

0 votes

Ook, alors c'est Vim de homebrew aka macvim ?

0 votes

J'ai installé pour cette solution le macport vim et le terminal iTerm2 .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X