Existe-t-il un moyen de désactiver l'invite «Appuyez sur ENTRÉE ou tapez la commande pour continuer» qui apparaît après l'exécution d'une commande externe?
EDIT: trouvé une solution de contournement: ajoutez un supplément <CR>
au raccourci dans mon .lvimrc.
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
Des meilleures idées?
set dir=$TEMP
dans votre vimrc. Cela indique à vim d'utiliser le bon dossier temporaire pour ses fichiers temporaires. Cela corrige à son tour les erreurs et supprime les invites «appuyez sur Entrée».Réponses:
Je ne sais pas comment le faire globalement pour une seule commande:
Assurez-vous d'inclure un espace après
silent
la source
:redraw!
option le résout. Le double<cr>
est probablement similaire. et moins compliquéDécouvrez une solution de contournement: ajoutez un supplément
<CR>
à la commande map.la source
la source
:help hit-enter
fournit des informations de base assez utiles sur l'invite "Appuyez sur ENTRÉE ...". Soin d'expliquer?set hl
(:highlight
) J'ai utilisé à tort comme raccourci pour savoirhlsearch
qui est le véritable raccourcihls
. Ons
compte :)set nomore
Définissez le
cmdheight
sur 2, dans mon vimrc (:e $MYVIMRC
):Plus d'infos ici .
la source
C'est ainsi que j'ai résolu le problème que l'exécution d'un programme externe via le mode silencieux gâche l'écran en mode texte vim (d'après mon expérience, gvim ne souffre pas de ce problème):
Utilisez-le à la place de la commande silencieuse habituelle:
la source
Il s'agit probablement d'une erreur de syntaxe dans le fichier vimrc
la source
set number
et puisset syntax
juste en dessous dans mon fichier .vimrc. Une fois que je l' ai enlevéset syntax
ne plus me Vim poussé.:message
pour savoir ce qui ne va pas.set syntax
. Remplacé parset syntax=on
et il résout le problème.La réponse d'Anthony m'a emmené au bon endroit et j'ai pu configurer gvim pour ne pas m'arrêter sur beaucoup de messages.
J'ai ajouté set
shortmess=aoOtI
à mon fichier gvimrc.Il est expliqué dans la page d'aide qui vous est proposée par
:help shortmess
.Les lettres signifient des classes de messages que vous ne voulez pas voir, ou que vous souhaitez que vim tronque pour éviter la frappe enter stop.
J'ai réussi cela avant en définissant une large fenêtre initiale avec
columns=130
dans gvimrc afin que peu de messages la débordent et nécessitent le besoin ennuyeux et épuisant d'appuyer sur Entrée.la source
C'est ainsi que j'exécute des commandes externes dans des scénarios difficiles sans avoir "Appuyez sur ENTRÉE". Contrairement à
:silent
, je peux toujours voir la sortie de la commande.Ligne de commande
Script / fonction
Cartographie avec
<expr>
Mappage avec
<expr>
qui appelle une fonctionla source
<command>
<command>
est destiné à être remplacé par une commande externe réelle, par exemplemap <expr> <F5> ":exe ':!gdb'\n:redraw\<CR>"
Vous pouvez utiliser:
Par exemple:
la source
Mettre un nouveau dessin avant que l'écran ne soit effacé fonctionne également. Voici ce que j'avais:
Mais cela ne déclenchera pas l'invite:
la source
redraw
résolu. L'autre solution ne convenait pas, car je voulais accepter l'entrée de l'utilisateur entre le message d'origine et la disparition de l'invite.J'ai un problème similaire, mais lorsque j'exécute un argdo pour remplacer la même chaîne dans plusieurs fichiers, par exemple,
Je devais constamment appuyer sur la page.
Vous pouvez définir l'option suivante avant d'exécuter le script afin qu'il n'y ait que l'invite finale au lieu de nombreuses invites
la source
:set nomore
, mauvaise lick il est encore à la fin. C'est aussi dans:h help hit-enter
@anthonyMon cas (une autocommande) a
set shortmess+=F
fait l'affaire.la source
Cela m'arrive si j'enregistre un fichier qui se trouve dans un répertoire où je n'ai pas les autorisations d'écriture dans le répertoire. J'ai fait un chmod 777 sur le répertoire (j'avais déjà des permissions d'écriture sur le fichier lui-même) et le message "Press ENTER" n'apparaît plus.
la source
Mais si vous exécutez une commande à partir de la ligne de commande vim. Ensuite, c'est un peu délicat. Vous pouvez ajouter un mot-clé
silent
avant votre commande réelle. Cela vous ramènera automatiquement à la fenêtre vim une fois la commande exécutée. Mais vous devez toujours exécuter manuellementredraw
car certaines des fenêtres comme NERD_Tree doivent être redessinées.Dans ce cas, essayez de suivre les instructions du document d'aide de vim:
Ce lien offre une autre issue. Mettez ceci dans votre fichier vimrc
Et puis vous pouvez utiliser
:Silent command
comme une commande ordinaire.la source
A mes côtés la solution était d'utiliser
silent
plus fréquemment dans une chaîne de commande .Plus précisément avant,
.vimrc
avait:Cela a été changé en:
Avant, le "Press ENTER" n'apparaissait pas toujours, mais souvent ennuyeux. Les
silent
s supplémentaires ont corrigé ce problème. (Il semble que cesilent
n'est pas nécessaire,redraw!
car:cc
le message «Appuyez sur ENTRÉE»).FYI:
La motivation de cette
M
cartographie est d'appuyer simplement surM
en mode normal pour:make
tout est sousgit
contrôle de toute façon)make
Mes
Makefile
s sont généralement construits de telle sorte que cela ne prend qu'une fraction de seconde.Avec quelques ajustements, cela peut également être appliqué aux
C
charges de travail non de type:En
.vimrc
plusCela permet
vim
d'interpréter les messages comme suit pour:cc
(erreur d'affichage):(
E
rrors,W
arnings,I
nfo, basés sur lavim
magie)Exemple d'utilisation de ceci pour les scripts Python . (Désolé, pas de copie ici, c'est une autre histoire.)
la source
Si votre erreur est causée par E303, la création d'un répertoire temporaire dans le
.vimrc
fichier peut la corriger.Après avoir ouvert un fichier, écrivez et entrez:
S'il y a des erreurs, il s'affiche.
Si vous voyez E303 (Erreur 303) "Impossible d'ouvrir le fichier d'échange pour" {filename} ", récupération impossible", cela peut indiquer qu'il y a une ancienne tentative de récupération d'un fichier d'échange (probablement perdu ou inexistant) dans le système .
Pour résoudre ce problème, attribuez un répertoire temporaire dans le
.vimrc
fichier.Pour trouver l'emplacement du
.vimrc
fichier, tapez et entrez ceci:Ouvrez le fichier
$ vi .vimrc
Ajoutez ceci à la fin du fichier:
Enregistrez et fermez avec
:wq
Enfin, rechargez le profil avec:
Essayez d'ouvrir n'importe quel fichier avec VI. Le problème doit être résolu.
la source
Activé
gvim
, si vous avez définiguioptions+=!
(Ajouté!
dansguioptions
), c'est à cause de cela. Cette option (!
) faitgvim
exécuter certaines commandes sur un terminal externe (qui supporte plus de fonctionnalités, comme la couleur et tant d'autres).Vous pouvez l'essayer en utilisant
:set guioptions-=i
et voir si cela fonctionne pour vous.la source