2010-11-15 15 views
11

Mi emulador de terminal está configurado para la codificación de caracteres Unicode y mi .vimrc contiene la línea¿Cómo pego caracteres no ASCII en vim?

set encoding=utf-8 

pero cuando intento pegar la palabra "café" en vim, sale como "cafetería ©".

Puedo hacer una "E" en vim tecleando Ctrl-vu seguido por el punto de código de 4 caracteres (00E9) pero me gustaría la posibilidad de pegarlo.

+3

Parece que en realidad no es UTF-8 –

+1

Estoy de acuerdo con Pekka; los detalles de su sistema pueden ser relevantes aquí. Puedo pegar cosas así de bien. – Cascabel

+1

puede pegarlo en el mismo terminal sin ejecutar vim, es decir, ¿se muestra correctamente en el indicador (bash)? – catchmeifyoutry

Respuesta

12

La solución fue desmarcar la casilla de verificación "Escape no entrada ASCII" en la pestaña Avanzado de la configuración Terminal.app.

+0

Es bueno saber que debes aceptar esta respuesta. –

1
  1. Desde dónde están Estás tratando de pegarlo? Si es opera, entonces desde opera-10.5 * paste se rompe en ambas direcciones. Antes de pegar, debe usar la solución xclip -o|xclip -i (agregue -sel clip para el portapapeles).
  2. ¿Qué comando usas?
+0

Estoy tratando de pegar texto de mi cartón en vim usando Command-V en mi Mac. – sferik

1

En lugar de copiar el carácter del portapapeles y pegarlo en el editor de texto, puede agregarlo al archivo utilizando la función de dímar de vim.

Por lo tanto, con las configuraciones predeterminadas, usando su ejemplo, puede ingresar el modo insertar, luego presionar Control-k, y escribir e '. El resultado será é.

Se puede ver la lista de dígrafos definidos mediante la ejecución de

: dígrafos

y ayuda en general mediante la ejecución de

: ayudar dígrafo

que también se explica cómo personalizar sus asignaciones.

Si realmente quieres pegar los caracteres, Shift-Insert siempre me ha funcionado.

+0

¿Alguna sugerencia sobre cómo hacer el equivalente a Shift-Insert en un teclado Apple (que no tiene una tecla insertar)? – sferik

1

cómo escribir un código no ASCII en vi

Vas a tener que saber lo que su codificación es entrar en los códigos apropiados, supongo que dejó VI en el valor predeterminado.

En VI, entrar en modo de inserción, mientras que en el modo de inserción, pulse

Ctrl-v 172

Eso debería insertar el lógico no (de lado y L invertida) de caracteres definidos aquí:

http://www.htmlhelp.com/reference/charset/iso160-191.html

Cuestiones relacionadas