如何在vim中更快地滚动



按住jk时滚动太慢。多次执行10j也不理想。

如何在按住键的情况下跑得更快?我在vscode中使用vim,但我想这个解决方案可能也适用于此。

如果您希望加快到达特定地点的时间,有许多页面。如果需要提高速度,这些命令支持按键:

ctrl+f(向下翻页)

ctrl+b(向上翻页)

ctrl+d(向下滚动窗口,通常为半个屏幕)

ctrl+u(向上滚动窗口,通常为半个屏幕)

我相信您正在寻找一种更好的方法来在say代码块或类似部分之间导航,而不必进行递归j或k。这些是我个人的最爱:

  • 通过Ctrl+yCtrl+e使光标停留在同一行/当前行上滚动屏幕
  • 在段落之间移动。对于使用{}键在不同函数、类等代码块之间移动(假设代码块中没有换行符:D)非常有用
  • 移动的最佳和最快方法是使用可用的视觉提示,如某些行上的关键字等,并搜索并将光标移动到该点。您可以使用/键搜索特定单词,然后按Esc停止搜索并移动到原始光标位置,或者按Enter
  • 当然,您可以使用Ctrl+FCtrl+B
  • 您可以通过在正常模式下键入行号并按大写G直接转到特定行。例如:-10G

如果你还想探索更多的导航技巧和命令,我强烈建议你观看这场精彩的演讲。

还有其他不错的跳跃

} .......... jump paragraph forward
{ .......... jump paragraph above
H .......... top of the window
M .......... middle of the window
L .......... bottom of the window
Ctrl-d ...... jumps down half screen
Ctrl-u ...... jumps back half screen

如果您使用搜索/pattern进行跳转,则可以使用

Ctrl-o ...... jump to the last position (jump list)
Ctrl-i ...... jump to the next position (jump list)

相对于使用jk,它们不会向跳转列表(:h跳转列表)添加任何条目,但您可以在~/.vimrc:中执行某些操作

" It adds motions like 25j and 30k to the jump list, so you can cycle
" through them with control-o and control-i.
" source: https://www.vi-improved.org/vim-tips/
nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj'
nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk'

对于配置文件中的上述行,任何超过5行的跳转都将在跳转列表中创建一个新条目。

为了让我的搜索更快,因为我的笔记本电脑很难到达/,我有这样的映射:

nnoremap <space> / 

为了在最后一个插入点开始键入,您可以键入:

gi

您可以使用重新选择并跳到最后一个视觉选择

gv

选择后,可以使用字母o跳过选择边,并可能增加或减少选择的范围。

gd  ............. jump to function definition

还有";变更列表";

g;  ................ goes to the older cursor position on the changlist
g,  ................ goes to the newer cursor postion on the change list

有时你是对的,但你想在不移动cursror的情况下折磨寡妇。

gg ............ beginning of the file
G .............. end of the file
zt  ............ puts the current line at the top
zz  ............ puts the current line at the middle
zb ............. puts the current line at the bottom
% .............. Jump to corresponding item, e.g. from an open brace to its matching closing brace. 

如果你想在vim上打开你最后编辑过的文件,你应该设置一个像这样的别名:

alias lvim='vim -c "normal '''0"'

要跳转到您的最后一次更改,您可以使用地图

nnoremap gl `.zz

现在,在正常模式下,您可以按gl,光标将跳到您的最后一个更改点,因为我们也在使用zz,线将在屏幕上居中。

我过去遇到的一件烦人的事情是我的Ctrl-d有多快。为了解决这个问题,我现在有了";vim奶昔";插件-对于neovim有karb94/neoscroll.nvim.

一个有趣的插件可以帮助你更快地在文件上跳转,它是vim-sneek,它重新映射你的普通s键,并向你显示一个提示,你可以在其中键入两个键,它会跳转到它,允许你使用;跳到下一个。(它有一个口号:vim的缺失动议)。

增加键盘设置中的重复率

最新更新