Emacs :(下一行)和(上一行)行为不正确

时间:2017-12-15 16:53:07

标签: emacs cursor

我在(global-set-key (kbd "C-i") 'previous-line) (global-set-key (kbd "C-k") 'next-line) 文件中添加了以下代码:

C-x C-b

之后我启动Emacs并推送*Buffer List*以打开C-x o缓冲区。然后我按C-i使其激活。

在这些操作之后,我尝试了我的新键绑定,他们的工作很奇怪! No buttons!在框架底部打印C-kD将该点移动到下一行,但在前一行打印var videoSources = ["video/kid.mp4", "video/hands.mp4", "video/video5.mp4", "video/action.mp4"]; var currentIndex = 0; // listener function changes src function myNewSrc() { var myVideo = document.getElementsByClassName('episodeVideo')[0]; myVideo.src = videoSources[currentIndex]; myVideo.load(); } // add a listener function to the ended event function myAddListener() { var myVideo = document.getElementsByClassName('episodeVideo')[0]; currentIndex = (currentIndex + 1) % videoSources.length; myVideo.src = videoSources[currentIndex]; myVideo.addEventListener('ended', myNewSrc, false); }

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您要求emacs告诉您键绑定的内容,使用缓冲区列表缓冲区中的C-h c C-k RETC-h c C-i RET,您将被告知

  

C-k运行命令Buffer-menu-delete

     

TAB运行命令前进按钮

仅仅因为您将这些键绑定到全局键映射中的其他函数并不意味着这些绑定在任何特定缓冲区中都处于活动状态,因为可能存在其他键映射优先于其他键映射全球地图。

这是一个很大的主题,你必须谨慎行事(特别要注意Ck有点破坏性:它标记了删除缓冲区 - 但可以想象在不同的​​缓冲区中有一个不同的模式,有效的地图可能会使其更具破坏性。)

您可以在emacs手册中阅读keymaps