viminfo中的标记格式

viminfo中的标记格式,vim,Vim,我试图找到有关文件标记如何存储在文件中的信息。例如,我有一个条目: '0 3 11 ~/.vim/hello |4,48,3,11,1592944829,"~/.vim/hello" 从上面看,唯一明显的事情似乎是保存标记的文件路径,~/.vim/hello以及创建标记的时间戳1592944829。其他项目是什么,为什么有些项目会多次列出(3、11、文件名)。您读取了错误的块 在viminfo文件中,搜索以开头的行,它们是标记历史记录 文件中通常有注释 例如: # H

我试图找到有关文件标记如何存储在文件中的信息。例如,我有一个条目:

'0  3  11  ~/.vim/hello
|4,48,3,11,1592944829,"~/.vim/hello"

从上面看,唯一明显的事情似乎是保存标记的文件路径,
~/.vim/hello
以及创建标记的时间戳
1592944829
。其他项目是什么,为什么有些项目会多次列出(3、11、文件名)。

您读取了错误的块

viminfo
文件中,搜索以
开头的行,它们是标记历史记录

文件中通常有注释

例如:

# History of marks within files (newest to oldest):

> /tmp/test/whatevertestfile.txt
    *   1592998167  0
    "   4   0
    ^   1   0
    .   1   0
    +   1   0
    a   4   0
    b   9   0
更新 哦,我刚才注意到你在问题中提到了文件标记。然后你看到的是正确的街区

这两行中的位置始终相同,因为
write\u one\u filemark()
函数为这两行读取相同的值

  • 第一个
    4
    是viminfo文件中的索引,它指示标记类型
  • 48
    是编号标记
    0
    的ascii码
  • 然后是position+ts+filename
如果您想知道更详细的信息,为什么要这样定义等等,您可以阅读此文件的相关部分