You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim配置:实现光标垂直移动时保持当前列位置

实现Vim中j键垂直对齐移动

要让j键按下后光标垂直移动到下一行对应列(而非行首),可以通过以下配置实现:

1. 关闭startofline选项

Vim默认j/k键会保持光标在同一列,但开启startofline后会跳转到行首。在~/.vimrc或init.vim中添加:

set nostartofline

重启Vim后,j键将默认移动到下一行的同一列位置。

2. 支持移动到虚拟空白列

如果下一行对应列无内容,希望光标仍能定位到该位置(而非行尾/行首),开启虚拟编辑选项:

set virtualedit=all

此设置允许光标移动到屏幕任意位置,包括行尾后的虚拟空间,完全实现垂直对齐。

3. 自定义j键映射(可选)

若不想全局修改默认选项,可单独映射j键强制保持列位置:

nnoremap j :execute "normal! " . v:count1 . "j"<CR>

该映射会忽略startofline影响,执行默认j键行为。

测试场景:光标在nisi的某个字符上,按下j键后将直接跳转到下一行对应列的位置——若该位置有内容(如Pellentesque的对应字符)则停在该处,若为空白则停在对应空白列。

内容的提问来源于stack exchange,提问作者CAVP33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:33:35