Answers:
g
跳转到文档的第一行G
字母跳到文档的最后一行还有各种各样的其他方式,vim在这方面非常灵活。我建议先获取基本命令的vim备忘单,然后在有时间的时候浏览有关该主题的vim文档。
链接到一份备忘单:备忘单
也:
/
+ 字符串 + (Enter)
搜索从光标向前到文档末尾的下一个字符串?
-执行相同的操作,但是从光标向后指向文档的开头我通过搜索想去的唯一字符串来跳来跳去。在Vim中,可以使用以下方法执行此操作:
/搜索字符串
输入搜索内容后,通常通常使用n和N向前和向后滚动。
我还使用Ctrl-F和Ctrl-B滚动来快速浏览代码。但是我经常使用搜索技巧。有时,使用n和N进行搜索时可能会迷失方向。Ctrl-G是确定方向的一个好命令,它会在Vim屏幕的底部打印出类似以下内容:
“ script.pl” 328行的219行--66%-列19-23
您也可以通过发行使跳转到指定行在文件NGG这里N
是要跳转行号。
NG
……
Ngg
(两种变体都可以使用)
:N
您应该尝试一下Lokaltog的easymotion插件:http : //www.vim.org/scripts/script.php? script_id=3526
如前所述,H,M,L(以高,中,低表示)小写hjkl是左,下,上,右的典型控制台游戏命令,在vi中也是如此(如果启用,j,k在gmail中起作用)键命令)
除了常规的垂直运动外,我还使用/programming/4946421/vim-moving-with-hjkl-in-long-lines-screen-lines的修改版本。我通常使用箭头键移动,而不是使用hjkl(在找到Vim之前是其他编辑的长期用户,即使在Vim独家使用5年以上之后,也习惯于使用arrow / Home / end / PgUp / PgDn进行切换)。
function! ScreenMovement(movement)
if &wrap
return "g" . a:movement
else
return a:movement
endif
endfunction
map <expr> <C-Down> ScreenMovement("j")
map <expr> <C-Up> ScreenMovement("k")
map <expr> <C-Home> ScreenMovement("0")
map <expr> <C-End> ScreenMovement("$")
通过按住Ctrl键,我可以直观地开始/结束或向上/向下显示行。至少对我来说,这比其他方法更有效。
差点忘了:我需要修改.Xdefaults才能使其在特定urxvt中正常工作,但这可能是一个离题的问题(在Google上提供答案)。