寻一个 vim 自动居中当前行的插件

2017-07-19 15:30:51 +08:00
 Anybfans

自己设置总是有不全的地方,导致一直跳来跳去的。搜了半天没找到,只好发帖啦。 现在 vim 的配置,已经注释掉了。求一个比较完美的插件

2870 次点击
所在节点    Vim
16 条回复
hvsy
2017-07-19 16:22:57 +08:00
试一下这两个设置你就知道了
set so=15
set siso=10
cxbig
2017-07-19 17:42:43 +08:00
还是喜欢手动 zz
Anybfans
2017-07-19 21:23:09 +08:00
@hvsy 我设置 15 和 10 不行。设置了 999 在编辑的时候确实是居中了,可是在一些情况还是不居中
例如 我打开了 vim 记录了上次打开的位置。 再次打开的时候不是居中的
Anybfans
2017-07-19 21:23:19 +08:00
xiaohanqing
2017-07-20 01:47:26 +08:00
:center
xiaohanqing
2017-07-20 02:00:54 +08:00
:set so=999
你这应该描述为“使光标所在行在窗口垂直居中”,用过 excel 的人看到你这描述都会理解为“使当前行内容左右居中”这个就对应 center 命令
xiaohanqing
2017-07-20 02:04:57 +08:00
要想记住上次位置又想再次打开,可配合 autocmd 打开文件的时候自动 zz,或者使用 saveview 思路,保存视图并恢复视图
yingluck
2017-07-20 11:25:41 +08:00
z dot
这个命令可以手动居中当前行
如果找不到好的自动居中替代品可以用这个
Anybfans
2017-07-20 12:07:48 +08:00
@xiaohanqing
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe "norm '\"zz"|else|exe "norm $zz"|endif|endif


记住上次位置又想再次打开 这个命令。感觉也不是太好用。。
Anybfans
2017-07-20 12:08:27 +08:00
@xiaohanqing 是为了让光标居中,不是让内容居中
xiaohanqing
2017-07-20 17:37:47 +08:00
@Anybfans
试一下这样
autocmd! BufReadPost *
\ if line("'\"")>1 && line("'\"")<=line("$")|
\ execute 'normal! g`"zz'|
\ endif
Anybfans
2017-07-21 09:14:46 +08:00
@xiaohanqing 好像不行。。
xiaohanqing
2017-07-22 11:51:07 +08:00
@Anybfans 具体是什么不行
ashfinal
2017-08-10 14:57:04 +08:00
曾经研究过这个问题。自己拷贝下这段:
https://github.com/ashfinal/vimrc-config/blob/74813ec2d7eb5eb6cd67d051845416bcb0e9ea04/.vimrc#L187

Normal、Visual、Insert 模式下都自动居中。很完美。
Anybfans
2017-08-10 17:02:39 +08:00
@ashfinal #14 哇。这个感觉很不错,先试用几天,谢谢啦
KentY
2017-08-29 17:03:58 +08:00
自动居中... 我个人觉得最佳的位置不是中间, 而是顶端往下几行(比如 5)的位置. 所以我弄了这个 map:

https://github.com/sk1418/myConf/blob/master/common/.vimrc#L195


"move current line to top+5 line (zt +5) zl -> zt lower
nnoremap zl zt4<c-y>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/376423

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX