LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1067|回复: 6

如何让vim打开文件后自动回到上一次最后编辑的地方?

[复制链接]
发表于 2010-3-28 21:18:21 | 显示全部楼层 |阅读模式
我在.vimrc 里头加了这么一句:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif

在别的地方都管用。但是在的archlinux中,不起作用。
每次光标还是在文件的起首处。
发表于 2010-3-28 21:23:12 | 显示全部楼层
arch里以前是这样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-28 21:42:27 | 显示全部楼层
Post by qiang_liu8183;2078680
arch里以前是这样的


多谢。可是为啥呢?
回复 支持 反对

使用道具 举报

发表于 2010-3-29 08:39:46 | 显示全部楼层
应该是/etc/vimrc有变动吧
回复 支持 反对

使用道具 举报

发表于 2010-3-29 09:59:22 | 显示全部楼层
Post by naturennn;2078679
我在.vimrc 里头加了这么一句:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
在别的地方都管用。但是在的archlinux中,不起作用。
每次光标还是在文件的起首处。


如果你用的是 arch 自带的 vim ,貌似需要使用 .virc

如果你的 vim 是自己编译的,不会出现你说的问题。
回复 支持 反对

使用道具 举报

发表于 2010-3-29 10:08:39 | 显示全部楼层
现在早没有.virc这玩意了.

我的.vimrc里加的是这样:


  1. au BufReadPost *
  2.     \ if line("'"") > 1 && line("'"") <= line("$") |
  3.     \     exe "normal! g'"" |
  4.     \ endif
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-29 10:28:28 | 显示全部楼层
不会吧?我的设置在Arch下一直有效。
  1. autocmd BufReadPost *
  2.     \ if line("'"") > 0 && line ("'"") <= line("$") |
  3.     \   exe "normal g`"" |
  4.     \ endif
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表