从vim贴图到0,$和^的惊人行为

tom*_*tom 1 vim

0,$和^键远离主行,因为我经常使用它们,所以我想我会将它们重新映射到H,L和U(分别),如下所示:

nnoremap H 0     " start of line
nnoremap L $     " end of line
nnoremap U ^     " first non-blank character
Run Code Online (Sandbox Code Playgroud)

但是不是做我期望的,H和U将光标放在一行的第6个字符上,L将光标移动到下面一行的第5或第4个字符.发生了什么,可以修复吗?

FDi*_*off 5

nnoremap认为你想映射H0 " start of line.它不是将"评论作为评论的开头.

您应该将注释移到另一行.

" start of line
nnoremap H 0
" end of line 
nnoremap L $
" first non-blank character 
nnoremap U ^
Run Code Online (Sandbox Code Playgroud)

  • 见`:h map-comments`. (2认同)