Completamente lista de ubicaciones de salida (LCL) creado por Syntastic así la memoria intermedia principal al utilizar: q,: q! o: wq! en VIM

StackOverflow https://stackoverflow.com/questions/4134027

  •  30-09-2019
  •  | 
  •  

Pregunta

Estoy usando el plugin de Syntastic. Tengo algunos archivos con algunos errores (cuidado) que no puedo cambiar. Cuando tengo un archivo abierto con mensajes de error, y salga del archivo (tampón) presionando: q, los mensajes de error son todavía visibles (otro buffer), así que tengo que presione:. Q dos veces para completamente salida al editar un archivo

Entonces, ¿cómo hacer de prensa que: q acaba de una vez con un archivo con un tampón que contenía mi archivo y otro buffer (lista de ubicaciones) que contiene errores Syntastic? He buscado un poco y el comando para cerrar la lista de ubicaciones es : LCL .

Cuando salgo de un tampón con: q, si la lista de ubicación para que el buffer está activo, quiero cerrarlo con la lista de ubicaciones dentro, llamando al: LCL. Estoy leyendo algunos autocmd BufLeave y BufWinLeave y tratando de crear una asignación para esto, pero No puedo saber la diferencia entre los dos. Alguien me puede ayudar?

Recordar, :w, :q, :q!, :wq debe todo el trabajo según lo previsto.

¿Fue útil?

Solución

A medida que el trabajo lcl incluso si no hay una ventana de error se puede asignar a LCL y q q

cnoremap q<cr> \|lcl\|q<cr>

Como se sugirió una abreviatura parece mejor

cabbrev q lcl\|q

(tenga en cuenta el \ antes |, sin que lo hace la abreviatura continuación, salga)

Otros consejos

Me doy cuenta de esta pregunta es antigua y que la respuesta fue aceptada hace algún tiempo. He intentado utilizar la respuesta aceptada, pero no parece que trabajar más.

Me hizo sin embargo encontrar una solución a esta cuestión , deben funcionar en otros a esto.

Básicamente, utilice una secuencia de comandos para comprobar si hay otras ventanas restantes se abren y si la última ventana que queda es una ubicación de la lista, dejar de fumar.

:autocmd WinEnter * if &buftype ==# 'quickfix' && winnr('$') == 1 | quit | endif

creo que esto puede no ser ideal, pero funciona bastante bien en el ínterin.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top