在vim中,有没有一种方法可以在不同的会话之间保存书签?

16

退出vim后再重新进入,所有书签都消失了。

已经找到如何在文件之间记住上次位置,但不知道如何在退出后记住书签。

有没有一种方法可以配置vim,使得书签能够被记住?

2个回答

13

可以的。将以下内容添加到您的 .vimrc 文件中:

:set viminfo='1000,f1

但需要注意:

小写字母的标记 'a 到 'z 只要文件仍在缓冲区列表中就会被记住。如果您将文件从缓冲区列表中删除,则所有标记都将丢失。如果删除包含标记的行,则标记将被擦除。

因此,您需要使用大写字母或数字标记。

请参阅:

...以获取更多信息。

如果您想保存会话状态,您可能还会发现:mksession有用。


运行:mksession后,结果相同-未设置标记。 - cc young
@ccyoung:啊。我已经更新了我的答案,并附有一条可能对你有帮助的注释。 - johnsyweb
1
我的错误 - 在第一次构建系统时以sudo身份运行vim - 使~/.viminfo文件归属于root。 - cc young

0

我不需要配置任何东西...它会自动存储在viminfo文件的"文件标记"部分。

来自手册:

'viminfo' 'vi'  
f   Whether file marks need to be stored.  If zero, file marks ('0
        to '9, 'A to 'Z) are not stored.  When not present or when
        non-zero, they are all stored.  '0 is used for the current
        cursor position (when exiting or when doing ":wviminfo").

使用:set vi命令查看您的设置


默认设置在某些系统上略有不同。我的系统默认设置不包括 f;因此需要额外的配置。 - D. Ben Knoble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接