在vim的普通模式下,g前缀用于许多命令。一些命令去某个地方的文件中,但其他命令处理的文件编码和上交换/小写字母。
ga-显示字符编码10gg-转到第10行gg-转到第1行gH-开始选择线路模式gr{char}-用{char}虚拟替换N个字符
所有这些命令之间缺少什么连接?
在vim的普通模式下,g前缀用于许多命令。一些命令去某个地方的文件中,但其他命令处理的文件编码和上交换/小写字母。
ga -显示字符编码10gg -转到第10行gg -转到第1行gH -开始选择线路模式gr{char}-用{char}虚拟替换N个字符所有这些命令之间缺少什么连接?
g并z为@Benoit:«g{C}的定义,因为它是通常需要一个命令,但是其他角色都已经绑定»。许多g*都有助记符go to/ global,有些则没有。与g* z*不涉及折叠的命令不同,我更难记住。我什至亲自在一个插件中定义了一组gd映射,可以记住global diff:«查看给定修订版所做的所有更改»。并且Near附近有一组“转到”项:gu-“转到用户”-“查看用户所做的更改”,依此类推。
10gg或10G(或:10<cr>)。
Answers:
与g-commands之间没有更大的联系:这是一堆混杂的东西。这是一个简单的前缀,并且未绑定的键已消失,因此,较少使用的地图在后面找到了一个不错的位置g。
ga是get ascii
g可以“执行”或“获取”某些命令,但是太多命令没有良好的助记符。
您只是在谈论两个不同的话题。在某些情况下,g是“全局”的简称(例如,用于范围命令),对于行移动,g表示goto。
在VIM中,命令通常会缩短以便快速使用。
:help global 可能会有所帮助
顺便说一句:对于行导航,我一直使用:<lineno>语法。
:<lineno>垃圾邮件的命令行历史记录,更难键入(<S-;>1<CR>:四次按键,两次或三个(dvorak)额外的手指移动(用于键入数字的工作被忽略)1gg,:三次按键,一个手指移动)。您可以通过定义一些映射来摆脱垃圾邮件的命令行历史记录(例如,<CR>在命令行模式下执行的映射将在执行命令后清除历史记录),但是您不必花太多精力来键入。
<S-;>1<CR>»。我知道这种方法,尽管通常在类似的表达式中看到它execute linenumber。
g并z扩展正常的命令集。