Esta es la contestación más completa que te podemos aportar, pero primero mírala detenidamente y valora si se adapta a tu proyecto.
Solución:
cuando corres sudo vim
inicias vim como root. Eso significa que el problema es el archivo viminfo en /root. Deberías hacer rm /root/.viminf*
.
Para asegurarse de esto, ejecute sudo vim
y ejecuta este comando: :!echo $HOME
. Esto le mostrará que su directorio de inicio es /root.
Recomendaría que no ejecute vim como root, sino que use sudoedit
. Esta es una solución más segura ya que el editor no se ejecuta como root. Nunca se sabe lo que podría hacer un complemento. Además, le permite usar su propia configuración y complementos en vim y no los de root vimrc. sudoedit
es lo mismo que correr sudo -e
. sudoedit funciona haciendo una copia temporal del archivo que es propiedad del usuario que invoca (usted). Cuando termina de editar, los cambios se escriben en el archivo real y se elimina el archivo temporal.
Como regla general: no ejecute las cosas como root si no es necesario.
Tengo este error en cada salida. no usé sudo
. Mencionó explícitamente mi directorio de inicio de usuario:
E138: Can't write viminfo file /Users/henrik/.viminfo!
eliminando ~/.viminfo
no solucionó el error.
Resulta que tenía un montón de archivos temporales de viminfo, y eliminarlos solucionó el problema:
ls ~/.viminf* # If you want to see the files.
rm -rf ~/.viminf* # Remove them.
Encontré esta solución aquí.
Recibí el mismo error al intentar :wq
un archivo en un disco que estaba completamente lleno. Si recibe este mensaje, es posible que desee comprobar el espacio disponible en el disco.
Si estás de acuerdo, eres capaz de dejar un ensayo acerca de qué le añadirías a esta crónica.