Cuando intenté usar las teclas de flecha en modo de inserción en el vi
editor, los siguientes caracteres se están insertando en el editor:
- porque ↓consigo B,
- porque ↑obtengo A,
- porque ←tengo D,
- porque →consigo C.
Por favor, ayúdame a resolver este problema.
text-editor
vi
bvb
fuente
fuente
Respuestas:
Si aún no tiene un
.vimrc
archivo en su directorio de inicio, cree uno usando esto:Agregue esta línea al principio del archivo:
Guarde el archivo y esto debería solucionar el problema por usted. :)
fuente
vi
lugar devim
, tiene que hacer la misma configuración pero en el~/.exrc
archivo.Instale vim -> Esto solucionará el problema.
Hay muchos buenos tutoriales vim / vi en youtube, o en la web en general. Para su problema, vea aquí
Luego continúe abriendo archivos como de costumbre :
fuente
Con
vi
, al hacer clic en iactiva el comando para Insertar texto.Este comando le permite insertar texto en su archivo.
Y a la derecha, al hacer clic:
Hasta que desactive este comando.
Para desactivar un comando en
vi
: simplemente haga clic en EscY luego volverá a usar normalmente las teclas de flecha:
FYI, aquí hay algunos
vi
comandos: deesta fuente .
:x
Return salir de vi , escribir el archivo modificado en el archivo nombrado en la invocación original:wq
Return salir de vi , escribir el archivo modificado en el archivo nombrado en la invocación original:q
Return salir (o salir) vi:q!
Return salir de vi aunque los últimos cambios no se hayan guardado para esta llamada vi↓ mover el cursor hacia abajo una línea
↓ mover el cursor hacia arriba una línea
← mover el cursor hacia la izquierda un carácter
→ mover el cursor hacia la derecha un carácter
u
deshacer lo que acabas de hacer; un simple alternar.
rehacer lo que acaba de haceri
insertar texto antes del cursor, hasta EscpresionarI
insertar texto al comienzo de la línea actual, hasta Escpresionara
agregar texto después del cursor, hasta EscpresionarA
agregar texto al final de la línea actual, hasta Escpresionaro
abrir y colocar texto en una nueva línea debajo de la línea actual, hasta EscpresionarO
abrir y poner texto en una nueva línea sobre la línea actual, hasta que se Escpresioner
reemplace un solo carácter debajo del cursor (no es Escnecesario)cw
cambie la palabra actual con un nuevo texto, comenzando con el carácter debajo del cursor, hasta que Escpresionex
eliminar un solo carácter debajo del cursorNx
elimine N caracteres, comenzando con el carácter debajo del cursordw
elimine la sola palabra que comienza con el carácter debajo delC
cambio del cursor (reemplazar) los caracteres en la línea actual, hasta que EscpresioneD
eliminar el resto de la línea, comenzando con la posición actual del cursordd
eliminar toda la línea actualNdd
eliminar N líneas, comenzando con la línea actual; por ejemplo, 5dd elimina 5 líneas,yy
copia (tira, corta) la línea actual en el búferNyy
copia (tira, corta) las siguientes N líneas, incluida la línea actual, en el búferp
pega las líneas en el búfer en el texto después la línea actual0
(cero) mover el cursor al inicio de la línea actual (el que está con el cursor)$
mover el cursor al final de la línea actualw
mover el cursor al comienzo de la siguiente palabrab
mover el cursor de regreso al comienzo de la palabra anterior:0
Returno1G
mover el cursor a la primera línea del archivo:n
ReturnonG
mover el cursor a la línea n:$
ReturnoG
mueva el cursor a la última línea del archivo/string
buscar hacia adelante la aparición de la cadena en el texto?string
buscar hacia atrás la aparición de la cadena en el texton
pasar a la siguiente aparición de la cadena de búsquedaN
mover a la siguiente aparición de la cadena de búsqueda en dirección opuestafuente
:help compatible
: "Por defecto, esta opción está activada y los valores predeterminados de Vi se utilizan para opciones. Este valor predeterminado se eligió para aquellas personas que desean usar Vim como Vi y ni siquiera (quieren) saber acerca de la opción 'compatible' ".Para deshabilitar la impresión de letras al presionar flechas en el modo de edición, puede hacer lo siguiente
(cree un archivo si no existe) y luego agregue una línea
set nocompatible
y guárdelo.fuente
:version
para el orden de carga (también:h .exrc
o:h init
) Supongo que alguien podría desear que se aplique una configuración tanto en vi como en vim, o podría ser pura fuerza de hábito.Hay tres modos en el editor vi, a saber:
Cuando abre un archivo, está en modo predeterminado. Ahora bien, si quieres ir a una posición específica en el texto, sólo tiene que utilizar las teclas de flecha o el uso h, j, k, lllaves. Tenga en cuenta que esto iba a funcionar sólo cuando no se ha pulsado i(o cualquier otro modo de entrada de comandos de entrar como a, A, I).
La razón de 'B' puede deberse a que las teclas de flecha en el modo de entrada no funcionan como teclas de flecha, así que solo presione Escpara ingresar al modo predeterminado en cualquier momento. Cuándo hacer el cambio a modo de entrada de prensa io a, y para navegar sólo tiene que pulsar ilas teclas principales y el uso de flecha o h, j, k, l.
fuente
Tuve exactamente el mismo problema, pero no solo en mi máquina local, sino también en las conexiones a través de masilla en una máquina sles en una máquina virtual Win7 sobre un receptor citrix. Tanto el host local como los hosts remotos se muestran después de que una reinstalación de Ubuntu tuvo exactamente el mismo problema.
Después de descubrir eso
Causa este extraño comportamiento de VI. ¡Instalé el paquete consola-datos que resuelve el problema!
fuente
Nota:
Hay buena información en las otras publicaciones, pero ninguna de las publicaciones intentó explicar por qué sucedió este comportamiento. Muchas personas están obligadas a tropezar con esto en el futuro. Además, ¿podría marcar esta pregunta como resuelta ya que cualquiera de las publicaciones anteriores probablemente lo ayudó?
Aquí hay una explicación :
Vi es un editor que existe desde hace mucho tiempo, con raíces en los sistemas Unix. Es una buena herramienta, pero se ha iterado y ahora hay una mejor. Vim fue escrito más tarde y es esa iteración. La gente comúnmente se refiere a vi como 'vim-minimal' y vim es una versión "mejorada" de vi. Puedes pensarlo así: vi es el núcleo y vim se expande sobre él.
Probablemente cómo descubriste el comportamiento :
Para que haya descubierto este problema, presionó " i " para ingresar al modo de inserción y luego utilizó las teclas de flecha para navegar por la línea correcta y editar el punto. Esto es lo que causó su problema inesperado de char.
Solución 1 o 2
1)
vi someFile
Mientras usa vi , primero muévase al punto de edición, luego ingrese al modo de inserción.2)
vim someFile
Simplemente use vim desde el principio.No puedo enfatizar lo suficiente como para leer el manual (páginas de manual) o usar -h para obtener ayuda. Una vez que se ajusta a los patrones en el shell, las páginas man se convierten en su mejor amigo. Ejemplo:
man vi
oman vim
Valide que Vim esté instalado .
Abra una ventana de consola y ejecute:
dpkg --list | grep vim
Si obtienes algo similar a esto, entonces puedes comenzar a usar vim.
Si el símbolo del sistema regresa sin nada, entonces vim is no está instalado. Use los ejemplos a continuación para actualizar sus repositorios y luego instale vim.
Si usa vi o vim solo cuando busca en Internet cómo arreglar algo y se olvida de escribir
vim
, hay una manera de arreglarlo en el futuro. Te advierto que prestes atención. Puede usar un alias para sobrescribir vi con una referencia a vim para que, sin importar lo que escriba en un futuro poco frecuente, obtenga vim sin ese "¡Uy!" momento. Siempre puedes eliminar un alias más tarde.Tipo
vim .bashrc
. Desplácese hacia abajo a la línea vacía con solo una~
(o hacia cualquier otra línea que comience conalias
(para que estén agrupadas) y luego presione la tecla i para ingresar al modo -inserción-. En su propia línea separada, ingrese lo siguiente:Presione
Esc
y luego escriba:wq
. Ahora necesita volver a cargar el archivo. Escribasource .bashrc
Cualquier otro shell que se abra después de haber realizado estas ediciones cargará automáticamente el archivo .bashrc.fuente
Todas las explicaciones dadas son un poco extrañas. Tengo vi pero no vim instalado.
Comprobación de alternativas:
/etc/alternatives/vi
→/usr/bin/vim.tiny
Así
vi
esvim.tiny
, y lo usa/etc/vim/vimrc.tiny
.Y en
vimrc.tiny
ti encuentras la siguiente línea:Que es casi lo único en este archivo. Tenga en cuenta que en
/etc/vim/vimrc
él está utilizandonocompatible
.Así que instale vim, o cambie el
vimrc.tiny
archivo, o cree uno propio~/.vimrc
que debe contener la línea:fuente
~/.vimrc
y configurarnocompatible
: askubuntu.com/a/353944/158442 , o 3. editar un archivo del sistema. Solo la sugerencia de edición/etc/vim/vimrc.tiny
es nueva y, sin embargo, las respuestas son extrañas al sugerir lo mismo que ellas.El editor vi tradicional no reconoce las teclas de flecha (... afair). Hay dos soluciones:
fuente
Esto también puede deberse a la
TERM
variable; configúralo por ejemplo así:fuente
En algunos sistemas, la
nocompatible
opción no está disponible o puede que no solucione el problema si un complemento rompe la funcionalidad de la tecla de flecha. Aquí hay una solución ...Edite el
.exrc
archivo para incluir las siguientes líneas:O bien, si el problema solo existe en el modo normal, puede cambiar
nmap
y omitir lo siguientea
, como sigue:y así.
Aquí están las combinaciones de teclas necesarias para producirlas (mostrando solo la primera):
Esto escapa del modo de edición, se mueve en la dirección deseada y vuelve a ingresar al modo de edición. Esto es necesario para superar Vi leyendo la secuencia de escape como una secuencia de <ESC> <O> <A> literal, etc.
Fuente: https://hea-www.harvard.edu/~fine/Tech/vi.html
fuente
Para VI crear o editar el archivo "~ / .exrc" o VIM crear o editar el archivo "~ / .vimrc" establecido o agregar en la línea.
En el momento de escribir este artículo, hay elogios sobre el segundo elemento más votado que se preguntan por qué su entrada no fue aceptada. La razón es que hay hosts que no permiten instalar otros editores. Incluso entonces, vim a veces tiene los mismos efectos, por lo que hay un montón de información utilizable de las dos entradas principales. Sin embargo, no puedo comentar con suerte, esto aclara las razones por las cuales ninguno de los dos es 100% correcto el 100% del tiempo.
fuente
En esta máquina tuve
make sure
quees el
last entry in ~/.vimrc
. O al menos una de las últimas entradas, en particular, no se carga más plugin después.HTH
fuente
Por alguna razón, Ubuntu ha omitido la inicialización de envvar HOME para el usuario root en mi nuevo VPS 18.04. Si ese es el caso, vi no puede encontrar el archivo .vimrc. El problema no ocurre para usuarios normales (en / home /).
Para verificar la variable:
Si esto resulta en una línea en blanco, la variable no se establece. El problema desapareció después
Moví el comando al archivo /root/.bashrc (no sé dónde se configura normalmente).
fuente