当前位置:  开发笔记 > 编程语言 > 正文

emacs相当于vim的shift-h和shift-l

如何解决《emacs相当于vim的shift-h和shift-l》经验,为你挑选了3个好方法。

我想知道emacs是否内置了这些光标移动命令,或者我是否必须编写它们或在某处找到一个片段.我发现它们非常漂亮,并且经常在vim中使用它们.到目前为止,我还没有在emacs的文档中找到它们.

在vim中,它们看起来像这样:shift -h - >将光标移动到屏幕顶部shift-m - >将光标移动到屏幕中间shift -l - >将光标移动到屏幕底部

只是为了澄清,我不打算将光标移动到文档的顶部/底部,只是移动到文档当前可见部分的顶部/底部,即当前正在屏幕上显示的部分.

到目前为止我找到了其中一个.alt-r似乎相当于vim的shift-m.它将光标移动到中间一行的第一列.



1> Dave Webb..:

使用:

Alt+0 Alt+r - 窗口顶部

Alt+- Alt+r - 窗口底部

严格来说,这些应该写M-0 M-r在屏幕的顶部和屏幕M-- M-r的底部.其中M表示Meta通常映射到的键Alt.

我按如下方式计算了这些击键:

M-r运行命令move-to-window-line.我发现了这个C-h k M-r,即.Ctrl+h,k,Alt+r. 键序列C-h k意味着告诉我下一个键序列的作用. 它告诉我命令名称,还可以将数字参数传递给命令以选择要转到的行.如果你没有通过它,你可以将点移动到你看到的窗口中间.

通过在按住Meta的同时键入数字,可以将数字参数传递给命令.减号本身就是-1.现在,要移动到屏幕顶部,我们要传递第0行,并在屏幕底部显示第-1行.这给了我们上面的关键序列.

如果你想绑定move-to-window-line一个不同的键看看Joe对这个问题的回答.


使用: - `M- = Mr` - 窗口中间

2> Joe Casadont..:

您希望使用的功能是move-to-window-line,其定义是:

move-to-window-line is an interactive built-in function in `C source
code'.

It is bound to M-r.
(move-to-window-line arg)

Position point relative to window.
With no argument, position point at center of window.
An argument specifies vertical position within the window;
zero means top of window, negative means relative to bottom of window.

您可以使用a调用它0来转到页面顶部,然后-1转到页面底部.这些可以绑定到具有匿名函数或命名函数的键.给出了两者的例子.

匿名函数

(global-set-key [(f4)] (function
                        (lambda ()
                          "Go to top of page."
                          (interactive)
                          (move-to-window-line 0))))

(global-set-key [(f4)] (function
                        (lambda ()
                          "Go to bottom of page."
                          (interactive)
                          (move-to-window-line -1))))

命名功能

(defun my-top-of-page ()
  "Go to top of page."
  (interactive)
  (move-to-window-line 0))

(defun my-bottom-of-page ()
  "Go to bottom of page."
  (interactive)
  (move-to-window-line -1))

(global-set-key [(f4)] 'my-top-of-page)
(global-set-key [(shift f4)] 'my-bottom-of-page)



3> Anupam..:

在Emacs 23.2中,Mr完全符合您的要求.

第一次调用此命令会将点移动到当前可见窗口的中心,下一个连续调用将移动到顶部和底部.

无需其他配置或自定义功能.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有