SUSE Linux中储存状态信息的viminfo和vimrc详解

《SUSE Linux中储存状态信息的viminfo和vimrc详解》要点:
本文介绍了SUSE Linux中储存状态信息的viminfo和vimrc详解,希望对您有用。如果有疑问,可以联系我们。

最近公司在审计所有产品和方案的安全规格,比如:操作系统的日志中禁止包含密码明文或password之类的.几乎将系统安全武装到牙齿了,今天就遇到一个问题:测试发现SUSE Linux操作系统的/root/.viminfo文件中包含了password字样,和同事确认后了解到:原来.viminfo文件存放于Linux系统的用户HOME目录(家目录)下,会记录该用户执行vi或vim的历史记录.

如果为了安全或某些原因,不希望其他用户查看到这些vi/vim操作记录,那么可以通过以下方法关闭.viminfo的记录:
1. 关闭所有用户的viminfo记录——修改/etc/vimrc文件,在该文件最后一行中增加set viminfo=
2. 关闭指定用户的viminfo记录——修改该用户HOME目录下的.vimrc文件,在该文件最后一行中增加set viminfo=

同时在网上搜集整理了下关于viminfo的详细说明,在这里也汇总分享下……

1. 信息文件viminfo被设计为储存Linux以下状态信息:
命令行和模式搜索的历史记录
寄存器内文本
各种文件的标记
缓存器列表
全局变量

2. 你每次退出 vi/vim,它就把此种信息存放在一个文件内,即.viminfo
当vi/vim重新起动时,就读取这个信息文件,而那些信息就被还原了.

3. vimrc文件中的选项‘viminfo’的默认设定是还原有限的几种信息,你也许希望设定它记住更多的信息:

其设置的规则大致如下:
set viminfo=string
其中字符串 “string” 规定了什么要储存.

该字符串的语法为一个选项字符跟一个参数,选项和参数组成的对子之间由逗号分隔.

来看一下你可以怎样构建你自己的 viminfo 字符串.首先,选项 ‘ 用于规定你为多少个文件保存标记 (a-z).为此选项挑一个美妙的偶数 (比如 1000).

你的命令现在看起来像这样:
set viminfo=’1000

选项 f 控制是否要储存全局标记 (A-Z 和 0-9).如果这个选项设为0,那么什么也不存储.如果设为1,或你对f选项不作规定,那么标记就被存储.你要这个功能,现在你有了:
set viminfo=’1000,f1

选项 < 控制着每个寄存器内保存几行文本.默认情况下,所有的文本行都被保存.如果设为0,则什么也不保存.为了避免成千上万行文本被加入你的信息文件 (那些文本可能永远也没用,徒然使vi/vim 起动得更慢),你采用500行的上限,那么以上的几个规则最终设置就如下了: set viminfo='1000,f1,<500 另外,如果要深入研究,那么下面这些选项可以帮到你: : 保存命令行历史记录内的行数 @ 保存输入行历史记录内的行数 / 保存搜索历史记录内的行数 r 可移介质,其中没有任何标记存入 (可用多次) ! 以大写字母开头的全局变数,并且不含有小写字母 h 起动时解除选项 'hlsearch' 的高亮度显示 % 缓冲列表 (只有当不带参数起动 Vim 时才还原) c 用编码 'encoding' 转换文本 n 用于 viminfo 文件的名称 (必须为最后一项选项)

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...