我试图在 vim 中学习一些新的简洁快捷方式,然后我发现了 g_。根据 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
$ → go to the end of line
g_ → go to the last non-blank character of line
我什么时候可以使用 g_ 而不是 $?
我试图在 vim 中学习一些新的简洁快捷方式,然后我发现了 g_。根据 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/
$ → go to the end of line
g_ → go to the last non-blank character of line
我什么时候可以使用 g_ 而不是 $?
g_
当您将文本粘贴到您不希望包含换行符的地方时,这真是太棒了——就像命令行一样,它将自动运行命令。
我认为最重要的区别在帮助文件中简单说明:
:h $
In Visual mode the cursor goes to just after the last character in the line.
因此,如果您这样做v$d,则会删除“在最后一个字符之后”,这是换行符,因此它将把它下面的行带到当前行。但如果你这样做vg_d,它将保留换行符。
我其实不知道g_
,似乎很有用。
编辑由于这个答案得到了赞成,我已经使用g_
(及其相反,_
)来制作一个映射,该映射将删除/删除当前行,不包括前导/尾随空格和换行符:
" delete/yank line, but only whitespace-trimmed version
nnoremap <Leader>dd _yg_"_dd
nnoremap <Leader>yy _yg_