在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
扩展正常的命令集。