在 Ubuntu Server 12.04.1 上的 VIM 7.3 中,VIM 在关闭后会忘记宏和寄存器。我确实有set nocompatible
,.vimrc
命令:set viminfo?
给出了以下结果:
viminfo='100,<50,s10,h
什么可能会阻止宏和寄存器在关闭/打开过程中被存储?
请注意,我对将映射存储在 中以供长期使用不感兴趣.vimrc
。相反,有时(例如在重构期间)我需要对一些文件执行简单操作,我发现在 VIM 中执行操作比在 Perl 中更容易。我只需要存储在 open/close 中的宏和寄存器,我确实在其他服务器上工作。
谢谢。
答案1
宏与(命名的)寄存器相同。您可以使用以下 shell 命令检查寄存器内容是否实际存储:
less +/Registers: ~/.viminfo
另外,(例如,当你执行完后sudo vim
还没有文件时.viminfo
),viminfo 文件可能对你的使用者不可写,所以你的更改将不再存在;请检查
ls -l ~/.viminfo
您的用户是文件所有者并且权限正确。(使用chown
/修复chmod
。)