2012-12-16 69 views
0

我看到tips.txt此键绑定:Vim:为什么我不能映射到<j>密钥?

:map <C-U> <C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y><C-Y> 

导致平滑滚动起来为CTRL-U。它只是移动视窗虽然,我想也移动光标,所以向下滚动我想:

:map <C-D> <C-E><j><C-E><j><C-E><j><C-E><j><C-E><j><C-E><j><C-E><j><C-E><j> 

由于CTRL-E移动视下来,Ĵ移动光标向下。然而,这不起作用。当我按下CTRL-D时,视口只跳一行,终端发出嘟嘟声。

如何映射CTRL + D滚动并移动光标?

+0

顺便说一句,''接受count,这意味着你可以只写'12 '而不是这个废话。其次,你不应该使用'* map',这里只需要'noremap'。 [说明](http://learnvimscriptthehardway.stevelosh.com/chapters/05.html)。 – ZyX

+0

@ZyX:我猜你没看过这个问题。这种方式导致*平滑*滚动。如果我只是按照你的建议重复这些命令,那么滚动是瞬间的,迷失方向。 – Hubro

+0

然后你可以使用':execute“noremap ”.repeat(“”,12)'。虽然这有点破解,并取决于系统和vim的配置。我没有注意到任何* yakuake(konsole)或rxvt-unicode(urxvt)*的区别,我测试了所有这些东西,无论是否带有“lazyredraw”集。我没有在'xterm'中用'lazyredraw'注意到它。我注意到的唯一条件是'xterm'没有''lazyredraw''。和urxvt没有,但只有当我看起来非常努力(在yakuake无所谓我看起来无所谓)。虽然即使在xterm w/o我也不能称你的解决方案更少的混乱。 – ZyX

回答

3

您不应该有围绕j的斜角括号(</>)。

+0

请参阅':help key-notation';它只用于特殊键(连击)。 –

相关问题