¿Hay alguna forma de deshabilitar el mensaje "Presione ENTRAR o escriba el comando para continuar" que aparece después de ejecutar un comando externo?
EDITAR: Encontré una solución: agregue un extra <CR>
al acceso directo en mi .lvimrc.
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
¿Alguna idea mejor?
set dir=$TEMP
vimrc. Esto le dice a vim que use la carpeta temporal correcta para sus archivos temporales. Esto, a su vez, corrige los errores y elimina las indicaciones de "presionar enter".Respuestas:
Sin embargo, no estoy seguro de cómo hacerlo globalmente para un comando:
Asegúrese de incluir un espacio después
silent
fuente
:redraw!
opción lo resuelve.<cr>
Probablemente el doble sea similar. y menos complicadoDescubrí una solución alternativa: agrega un extra
<CR>
al comando de mapa.fuente
fuente
:help hit-enter
proporciona información de fondo bastante útil en el mensaje "Presione ENTER ...". ¿Le importaria explicar?set hl
(:highlight
) que usé incorrectamente como atajo para saberhlsearch
quién es el atajo realhls
. Unos
importa :)set nomore
Establezca el
cmdheight
en 2, en mi vimrc (:e $MYVIMRC
):Más info aquí .
fuente
Así es como manejé el problema de que ejecutar un programa externo a través de silencio estropea la pantalla en vim en modo texto (en mi experiencia, gvim no sufre este problema):
Úselo en lugar del comando silencioso normal:
fuente
Posiblemente sea un error de sintaxis en el archivo vimrc
fuente
set number
y luegoset syntax
justo debajo en mi archivo .vimrc. Una vez que eliminéset syntax
Vim, ya no me lo pidió.:message
para averiguar qué está mal.set syntax
. Lo reemplazó conset syntax=on
y soluciona el problema.La respuesta de Anthony me llevó al lugar correcto y pude configurar gvim para que no se detuviera en muchos mensajes. Agregué un
conjunto
shortmess=aoOtI
a mi archivo gvimrc.Se explica en la página de ayuda que le ofrece
:help shortmess
.Las letras significan clases de mensajes que no desea ver, o que le gustaría que vim truncara para evitar presionar enter detener.
Lo logré antes estableciendo una ventana inicial amplia con
columns=130
en gvimrc para que pocos mensajes la desborden y requieran la molesta y agotadora necesidad de presionar enter.fuente
Así es como ejecuto comandos externos en escenarios complicados sin tener que "Presionar ENTRAR". diferente a
:silent
, todavía puedo ver la salida del comando.Línea de comando
Script / función
Mapeo con
<expr>
Mapeo con
<expr>
eso llama a una funciónfuente
<command>
<command>
está destinado a ser reemplazado con un comando externo real, por ejemplomap <expr> <F5> ":exe ':!gdb'\n:redraw\<CR>"
Puedes usar:
Por ejemplo:
fuente
Poner un nuevo dibujo antes de borrar la pantalla también funciona. Esto es lo que tuve:
Pero esto no activará el mensaje:
fuente
redraw
resuelto. La otra solución no encajaba, ya que quería aceptar la entrada del usuario entre el mensaje original y la desaparición del mensaje.Tengo un problema similar, pero cuando ejecuto un argdo para reemplazar la misma cadena en varios archivos, por ejemplo,
Constantemente tenía que presionar la página hacia abajo.
Puede configurar la siguiente opción antes de ejecutar el script para que solo haya el mensaje final en lugar de muchos mensajes
fuente
:set nomore
mala lamida todavía está al final. También está en:h help hit-enter
@anthonyMi caso (un autocomando)
set shortmess+=F
hizo el truco.fuente
Esto me sucede si estoy guardando un archivo que está en un directorio donde no tengo permisos de escritura en el directorio. Hice un chmod 777 en el directorio (ya tenía permisos de escritura en el archivo) y el mensaje "Presione ENTER" ya no aparece.
fuente
Pero si está ejecutando un comando desde la línea de comandos de vim. Entonces es un poco complicado. Puede agregar una palabra clave
silent
antes de su comando real. Lo llevará de regreso a la ventana de vim automáticamente después de que se haya ejecutado el comando. Pero aún necesita ejecutar manualmenteredraw
ya que algunas de las ventanas como NERD_Tree deben volver a dibujarse.Para este caso, intente seguir las instrucciones del documento de ayuda de vim:
Este enlace proporciona otra salida. Pon esto en tu archivo vimrc
Y luego puede usarlo
:Silent command
como un comando regular.fuente
A mi lado la solución fue usar con
silent
más frecuencia en una cadena de comando .Específicamente antes,
.vimrc
había:Esto se cambió a:
Antes, el "Presione ENTER" no siempre aparecía, pero era molesto a menudo. Los adicionales
silent
solucionaron esto. (Parece quesilent
no es necesarioredraw!
porque aparece el:cc
mensaje "Presione ENTER").FYI:
El motivo de este
M
mapeo es simplemente presionarM
en modo normal para:make
todo está bajogit
control de todos modos)make
Por lo general, mis
Makefile
s se construyen de tal manera que esto solo toma una fracción de segundo.Con algunos ajustes, esto también se puede aplicar a
C
cargas de trabajo que no sean de tipo:En
.vimrc
añadirEsto permite
vim
interpretar mensajes como los siguientes para:cc
(error de visualización):(
E
errores,W
arnings,I
nfo, basados envim
magia)Ejemplo de cómo usar esto para scripts de Python . (Lo siento, no hay copia aquí, es una historia diferente).
fuente
Si su error es causado por E303, entonces la creación de un directorio temporal en el
.vimrc
archivo puede solucionarlo.Después de abrir cualquier archivo, escriba e ingrese:
Si hay errores, se le preguntará.
Si ve E303 (Error303) "No se puede abrir el archivo de intercambio para" {nombre de archivo} ", la recuperación es imposible", puede indicar que hay un intento anterior de recuperar un archivo de intercambio (probablemente perdido o inexistente) en el sistema. .
Para solucionar este problema, asigne un directorio temporal en el
.vimrc
archivo.Para encontrar la ubicación del
.vimrc
archivo, escriba e ingrese esto:Abre el archivo
$ vi .vimrc
Agregue esto al final del archivo:
Guardar y cerrar con
:wq
Finalmente, recargue el perfil con:
Intente abrir cualquier archivo con VI. El problema se solucionará.
fuente
En
gvim
, si ha configuradoguioptions+=!
(Añadido!
enguioptions
), esto es debido a eso. Esta opción (!
) hace que segvim
ejecuten algunos comandos en un terminal externo (que admiten más funciones, como el color y tantas otras).Puede probarlo usando
:set guioptions-=i
y ver si esto funciona para usted.fuente