VIM技术问题:如何在空行中移动光标?
VIM空行光标无法用h/k移动的解决办法
情况1:想在行首按h跳到上一行末尾,或让h/l能跨行移动
如果光标在空行的行首,按h没反应(没法跳到上一行末尾),或者在行尾按l也没法跳到下一行开头,修改whichwrap选项即可:
在你的VIM配置文件(Linux/macOS为~/.vimrc,Windows为_vimrc)里添加这行:
set whichwrap+=h,l,<BS>,<Space>
各参数作用:
h:允许在行首按h跳到上一行末尾l:允许在行尾按l跳到下一行开头<BS>和<Space>:让退格、空格键也支持跨行操作
保存配置后重启VIM即可生效。
情况2:想在完全空的行里自由移动光标(比如停在行中间)
如果你的空行没有任何字符,默认光标只能停在行首,无法用h/l移动到行中间位置,开启虚拟编辑模式就能解决:
在配置文件里添加:
set virtualedit=all
开启后,光标可以停在空行的任意位置,h/l可自由移动,k/j上下切换行也能正常工作。
另外补充:默认情况下k键应该能从空行跳到上一行,如果没反应,在VIM中输入:map k查看是否有自定义映射覆盖了k键,有冲突的话修改或删除对应的映射即可。
内容的提问来源于stack exchange,提问作者Reyomi
相关产品推荐
相关产品推荐

