Soy consciente de que esta es una pregunta extraña, y es posible que ni siquiera sea el foro adecuado para publicarla. Pero esto ha sido un problema durante varios años.
De vez en cuando, digamos una vez al mes, cuando programo, presento un espacio sin interrupción en lugar de un espacio normal, antes de abrir una llave.
Esto sucede digamos cuando estoy escribiendo () {
Esto conduce a misteriosos errores de pelusa. Cláusulas CSS que no se aplican. Hasta que lo recuerde, esto podría ser.
Hasta donde sé, esto solo sucede en vim, pero como es mi editor principal, es posible que nunca haya sucedido en otro software. Pero ninguno de mis compañeros de trabajo en mis últimos trabajos tuvo ese problema, a pesar de que usan el mismo diseño de teclado que yo. Sin embargo, soy el único que usa vim regularmente, por eso pensé en publicar aquí ...
Esto me sucedió al menos en ubuntu 14.04, 16.04 y mac os x.
:set list
no lo revela
Estoy usando una distribución de teclado francés-canadiense, lo que significa que el carácter de llave se hace presionando alt + `
Estoy muy cansado de que esto cause problemas, es poco frecuente y me olvido de ello.
Si no puede decirme por qué esto sigue sucediendo, algún tipo de configuración para resaltar ese carácter de una manera obvia sería una respuesta adecuada y realmente ayudaría con este problema.
fuente
Respuestas:
Otros ya han proporcionado soluciones, pero en cuanto a la razón por la que sucede, apuesto a que accidentalmente presionas Alt+ Space.
Estoy usando Xubuntu con el diseño de teclado finlandés de 105 teclas, así que para mí, escribir
{
significa presionar AltGr+ 7. Acabo de hacer una prueba rápida en xfce4-terminal (en la línea de comando bash), y presionar AltGr+ Spaceproduce un espacio sin interrupción (U + 00A0).Apuesto a que lo que está sucediendo es que está presionando la Alttecla antes de presionar la llave, y a veces eso sucede antes de presionar la barra espaciadora, produciendo un espacio que no se rompe. Y dado que parece idéntico a un espacio normal, no te das cuenta de que ha sucedido antes de que algo se rompa misteriosamente, lo que te dificulta notar que sucede y, por lo tanto, también es difícil desaprender ese hábito.
fuente
/usr/share/X11/xkb/symbols/us
) después de ajustar la llamadasetxkbmap us
o cualquier idioma de su preferenciaPuede agregar un comando automático que reemplace los espacios que no se rompen con espacios regulares al guardar tipos de archivos particulares, por ejemplo. poniendo algo como esto en tu vimrc:
Puede ajustarlo agregando más tipos de archivos o estableciendo una marca y volviendo a él después de la operación de reemplazo, de lo contrario, será impulsado al comienzo de la última línea donde se realizó un reemplazo.
fuente
La
'listchars'
opción proporciona un medio para hacer que se'list'
muestren espacios sin interrupción. No está configurado de manera predeterminada, por lo que probablemente desee agregarlo.fuente
vimrc
, de hecho, los resaltará a medida que los escriba.sí, eso es probablemente alt + espacio, me pasa mucho cuando uso el operador de tubería:
si mantiene presionada la tecla alt durante demasiado tiempo, creará un espacio que no se rompe después de la tubería y bash intentará encontrar un comando "grep" y luego le dirá que no se encontró grep.
en macos hubo algún truco para cambiar el mapa de teclas, por lo que cada vez que inserte un espacio que no se rompa, se convertirá / reemplazará por un regular. Por lo que recuerdo, el mapa de teclas se cambia para todo el teclado, por lo que soluciona su problema en todas las aplicaciones.
fuente