vim 打开文件默认回到上次编辑的地方

4 篇文章 1 订阅

vim 是一个非常好的文本编辑工具,一般我用来写 Python 代码的配置如下:

set nu 
set smartindent
set tabstop=4	
set shiftwidth=4
set expandtab
set softtabstop=4
set autoindent

au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

最后一行的作用就是当你编辑之前打开过的文件的时候,光标会默认回到上一次编辑的地方。
如上配置都写在 /home/hunter/ 目录下的 .vimrc,其中,hunter 为你的登录用户名。

但是,后来我新安装了个 Ubuntu系统,按照如上配置之后,再次使用 vim 编辑文件的时候,光标却总是移到第一行。

为什么上述代码不起作用了呢?

首先我们来搞清楚一下当 vim 工作的时候它的流程是什么?
当我们使用 vim 打开一个文件,它会 读取 /home/user/.viminfo 这个文件,获取我们上次打开的文件退出的相关信息,比如停留的行数。

然后,我们再去看一下 /home/user/.viminfo 这个文件, 使用命令:

ls -l

查看,发现权限都是 root 用户的,也就是说,当我们直接使用 vim test.py 这个操作的时候,使用的是 hunter 这个用户,然后导致上一次关闭文件的信息读取失败,所以也就造成了光标不能回到上次编辑的地方。

知道问题在哪了,解决就很简单了,把 .viminfo 这个文件更改一下权限就可以了。

sudo chmod 777 .viminfo

再次打开文件,就能回到上次文本编辑的地方了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值