提问人:Jeff 提问时间:6/12/2013 最后编辑:Jeff 更新时间:12/4/2016 访问量:11886
如何重新映射 Vim 键(PageUp 和 PageDown)
How to remap Vim keys (PageUp and PageDown)
问:
我想根据 Vim 滚动文档重新映射和映射。<PageUp>
<C-u>
PageDown
<C-d>
就目前而言,我看起来像这样:/etc/vim/vimrc
nnoremap <PageUp> <C-u>
nnoremap <PageDown> <C-d>
我尝试了很多不同的组合,但我所做的一切都没有奏效。
我的目标是在按住 PageUp/PageDown 时使光标移动到文件开头或 EOF。就像现在一样,光标在到达顶部之前停止(并且 PageDown 滚动到 EOF 之外)。只是我试图解决的烦恼。
编辑:以上设置工作正常。我在文件中放置的映射太早了。
答:
12赞
romainl
6/12/2013
#1
以下映射呢?
nnoremap <PageUp> gg
nnoremap <PageDown> G
或者干脆使用 和 ?gg
G
评论
0赞
Jeff
6/12/2013
不,那行不通。如果有帮助的话,我在 Debian 上。也许他们以一种我不明白的方式设置了 Vim?
0赞
Jeff
6/12/2013
等等,是的,它确实如此......我一直在编辑而不是.键映射是否仅在用户的 .vimrc 文件中起作用?/etc/vim/vimrc
~/.vimrc
0赞
romainl
6/12/2013
我在 ubuntu 上,它可以工作,是转到第一行的规范命令和转到最后一行的规范命令。另外,在第一行和最后一行停下来。请向我们展示您的并告诉我们您使用的 Vim 版本。gg
G
<C-u>
<C-d>
~/.vimrc
1赞
romainl
6/12/2013
哦,那好吧。切勿触摸 /etc/vim/
。自定义 Vim 所做的一切都必须在 和 中完成。~/.vim/
~/.vimrc
0赞
Jeff
6/12/2013
哈,我的所有其他设置都在 /etc/vim/vimrc 文件中工作。我有点希望这是一个全局系统设置。
5赞
Ingo Karkat
6/12/2013
#2
不应将映射放入系统范围的映射中,而应将用户自定义项放入文件中。尽管如此,全局配置(如果这是您想要的)也应该有效。这并不意味着映射被清除或重新定义。您可以查看/etc/vim/vimrc
~/.vimrc
:verbose nmap <PageDown>
如果未重新定义,则必须在所有加载的脚本中查找命令 (),或使用 捕获日志。:nunmap
:scriptnames
vim -V20vimlog
评论
2赞
Ingo Karkat
6/20/2013
如果您对答案投反对票,请提供反馈,说明您认为它不充分的原因。
2赞
laktak
12/4/2016
#3
你可以用
map <silent> <PageUp> 1000<C-U>
map <silent> <PageDown> 1000<C-D>
imap <silent> <PageUp> <C-O>1000<C-U>
imap <silent> <PageDown> <C-O>1000<C-D>
评论
1赞
Konrad
4/21/2021
这应该是公认的答案,这实际上与用户期望 PageUp 和 PageDown 键执行的操作一致。
评论