2011-06-09 11 views

Respuesta

17

Intente agregar set viminfo+=n~/.vim/viminfo a su archivo ~/.vimrc. De :help 'viminfo':

n  Name of the viminfo file. The name must immediately follow 
      the 'n'. Must be the last one! If the "-i" argument was 
      given when starting Vim, that file name overrides the one 
      given here with 'viminfo'. Environment variables are expanded 
      when opening the file, not when setting the option. 
+0

no funciona en SUA en Windows D: –

+0

¿Qué no funciona? La opción o el valor específico que sugerí? Siéntase libre de darle cualquier camino razonable que tenga sentido para su plataforma. – sarnold

+0

no funciona como en, después de que agregué eso en mi archivo vimrc, viminfo aún se guarda el directorio bajo mi carpeta de inicio ... A menos que lo configure manualmente cada vez que abra vim, eso funcionaría, pero no si lo tengo en vimrc –

5
set viminfo='1000,nc:\\users\\abcdef\\_viminfo 

Esto funciona para mí en Windows 7.

+0

Sí, probé 'set viminfo + = '1000, n ~/.vim/viminfo' en su lugar y funcionó. – kenmux

+0

Funcionó para mí en Windows 10 con Vim 8.0.x. Incluso funciona con una variable, por ejemplo, 'set viminfo = '1000, n $ VIM/viminfo'. – benichka

4

tuve un problema similar, pero no tenía permiso de escritura en mi carpeta de inicio (por lo tanto no se pudo crear el ~/.vimrc).

Lo resuelto mediante la modificación (a través del Administrador) el _vimrc en C:\Program Files\VIM para incluir la línea:

let $HOME = $USERPROFILE 

lo coloqué en el principio del archivo y funcionó bien. En caso de que alguien se encuentre con esta pregunta y this answer no funcionó.

0

TL; DR

Esto parece ser un error en vim donde set nocompatible no es idempotent y no sigue el principle of least astonishment.

Como solución, ya sea:

  1. asegurarse de que usted set nocompatible (o el equivalente set nocp) solamente una vez y en la parte superior de su vimrc.

  2. no puedo establecer de nuevo si ya está establecido:

    if &compatible | set nocompatible | endif " Avoid side effects if `nocp` already set 
    

Explicación y fallo ilustración

De :help compatible (el mío empahsis):

Este es un tipo especial de opción, porque cuando se establece o restablece, otras opciones también se cambian como efecto secundario. CUIDADO: Configuración o restablecer esta opción puede tener un montón de efectos inesperados: Asignaciones se interpretan de otra manera, deshacer se comporta de manera diferente, etc. Si establece esta opción en su archivo vimrc, probablemente debería ponerlo en el muy comenzar.

Nota que &viminfo es no enumerados en los efectos secundarios, sin embargo, las siguientes líneas muestran claramente el efecto secundario sobre &viminfo:

set nocompatible 
set viminfo+=nWatch-my-viminfo-file-location-be-ignored 
echom &viminfo 
set nocompatible " do side effects even though nocomptible is already set 
echom 'After 2nd "set nocompatible":' 
echom &viminfo 

de salida:

'100,<50,s10,h,nWatch-my-viminfo-file-location-be-ignored 
After 2nd "set nocompatible": 
'100,<50,s10,h 

vim --version | head -1

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 05 2016 16:48:20)


Resolución

he planteado dos cuestiones con respecto a este GitHub:

Ver también la pregunta de Vi StackExchange: Can't move viminfo file - &viminfo reverts upon loading vim el que planteé antes de ver a éste.

0

El orden de las configuraciones en .vimrc afecta el uso de: set viminfo. La configuración de viminfo debe ser posterior a la configuración de no compatible. Después de reordenar mi .vimrc, funcionó para mí la solución anterior para que el archivo viminfo esté ubicado en el directorio .vim.

+0

¿Podría mostrar un ejemplo? – mouckatron

Cuestiones relacionadas