自己设置总是有不全的地方,导致一直跳来跳去的。搜了半天没找到,只好发帖啦。 现在 vim 的配置,已经注释掉了。求一个比较完美的插件
1
hvsy 2017-07-19 16:22:57 +08:00
试一下这两个设置你就知道了
set so=15 set siso=10 |
2
cxbig 2017-07-19 17:42:43 +08:00
还是喜欢手动 zz
|
3
Anybfans OP @hvsy 我设置 15 和 10 不行。设置了 999 在编辑的时候确实是居中了,可是在一些情况还是不居中
例如 我打开了 vim 记录了上次打开的位置。 再次打开的时候不是居中的 |
5
xiaohanqing 2017-07-20 01:47:26 +08:00 via Android
:center
|
6
xiaohanqing 2017-07-20 02:00:54 +08:00 via Android
:set so=999
你这应该描述为“使光标所在行在窗口垂直居中”,用过 excel 的人看到你这描述都会理解为“使当前行内容左右居中”这个就对应 center 命令 |
7
xiaohanqing 2017-07-20 02:04:57 +08:00 via Android
要想记住上次位置又想再次打开,可配合 autocmd 打开文件的时候自动 zz,或者使用 saveview 思路,保存视图并恢复视图
|
8
yingluck 2017-07-20 11:25:41 +08:00
z dot
这个命令可以手动居中当前行 如果找不到好的自动居中替代品可以用这个 |
9
Anybfans OP @xiaohanqing
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe "norm '\"zz"|else|exe "norm $zz"|endif|endif 记住上次位置又想再次打开 这个命令。感觉也不是太好用。。 |
10
Anybfans OP @xiaohanqing 是为了让光标居中,不是让内容居中
|
11
xiaohanqing 2017-07-20 17:37:47 +08:00
@Anybfans
试一下这样 autocmd! BufReadPost * \ if line("'\"")>1 && line("'\"")<=line("$")| \ execute 'normal! g`"zz'| \ endif |
12
Anybfans OP @xiaohanqing 好像不行。。
|
13
xiaohanqing 2017-07-22 11:51:07 +08:00
@Anybfans 具体是什么不行
|
14
ashfinal 2017-08-10 14:57:04 +08:00 1
曾经研究过这个问题。自己拷贝下这段:
https://github.com/ashfinal/vimrc-config/blob/74813ec2d7eb5eb6cd67d051845416bcb0e9ea04/.vimrc#L187 Normal、Visual、Insert 模式下都自动居中。很完美。 |
16
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> |
17
Epictus 86 天前 1
@ashfinal #14 讓我不用查閲 nvim 文檔確定 api ,我重新寫了使用 lua 的配置文檔以供使用 lazyvim 等用戶使用
https://github.com/Zeuyel/nvim/blob/master/lua/config/autocmds.lua |