【已解决】vim 如何让打开文件时光标自动到上次退出该文件时的光标所在位置

Vim、Emacs配置和使用
回复
uu_dou
帖子: 3
注册时间: 2013-11-21 16:07

【已解决】vim 如何让打开文件时光标自动到上次退出该文件时的光标所在位置

#1

帖子 uu_dou » 2013-12-15 15:08

在我的vimrc加入了
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if ! exists("g:leave_my_cursor_position_alone") |
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif |
\ endif

为什么每次打开文件光标总是停留在第一行


参考论坛https://www.ubuntu.org.cn/viewtopic.php?f=68&t=289729解决,原因是.viminfo的属性不知道怎么变成了root了。
jindg@kickseed:~$ ls -l /home/jindg/.viminfo
-rw------- 1 root root 3196 12月 15 14:48 /home/jindg/.viminfo
删除它即可。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 【已解决】vim 如何让打开文件时光标自动到上次退出该文件时的光标所在位置

#2

帖子 自由建客 » 2013-12-16 2:20

[vim]au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif[/vim]
默认配置文件就有这么一行,只不过被注释了。
uu_dou
帖子: 3
注册时间: 2013-11-21 16:07

Re: 【已解决】vim 如何让打开文件时光标自动到上次退出该文件时的光标所在位置

#3

帖子 uu_dou » 2013-12-16 22:58

自由建客 写了:[vim]au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif[/vim]
默认配置文件就有这么一行,只不过被注释了。
跟这个没关系,这个配置本来就有。
原因是跟.viminfo的权限有关,具体见1楼后面的解释。
回复