光标可以跳回到上一个位置吗?


24

我可以将光标移到缓冲区的最后一个位置吗?(最好不要标记以前的位置)

例如,Ca跳到当前行的开头,我可以跳回到之前的行吗?

例如,当Cx Cf在另一个目录中打开文件时,我想跳回到路径名中的上一个位置。

谢谢。


请问C-x x哪个运行exchange-point-and-mark?Emacs不会存储所有光标移动,只会存储您专门告诉它的那些移动。添加和弹出标记是存储光标移动历史记录的一种方法。emacswiki.org/emacs/MarkCommands-这是一个很好的主题讨论。
wvxvw 2015年

1
C-x x是不确定的。M-x exchange-point-and-mark:此缓冲区中未设置标记。
2015年

@Tim是C-x C-x。同样,您需要首先设置一个标记才能使它起作用。要明确设置标记,请执行C-SPC。要跳回到上一个标记,请执行C-u C-SPC
Kaushal Modi 2015年

是的,对不起,是C-x C-xC-x x是我自己的约束力。
wvxvw 2015年

1
不知道这是否重复,但是emacs.stackexchange.com/q/3421/454可能有用。
phils 2015年

Answers:


30

以下是一些与标记相关的绑定可以帮助您:

  • C-SPC-设置标记并激活区域(绑定到set-mark-command
  • C-SPC C-SPC -设置标记(激活然后禁用区域)
  • C-x C-x - 势必 exchange-point-and-mark
  • C-u C-SPC -移至上一个标记

请查阅Mark文档,以更好地理解该主题。


9
请注意,可能会使光标从您所处的位置(通常)自动(任意)移动某个距离(但可能很大)的命令将自动首先按该标记。这样一来,您可以经常回到以前的状态C-u C-SPC
phils 2015年

通过counsel-mark-ring它,还可以列出所有标记并使用光标对其进行导航,从而在缓冲区中获得实时预览。
Arialdo Martini


1

您可以使用“寄存器”。

从emacs信息文件

13.1在寄存器中保存位置

C-x r <SPC> R' Record the position of point and the current buffer in register R (点对注册”)。

C-x r j R' Jump to the position and buffer saved in register R (跳转到注册”)。

键入“ C-x r <SPC>' (点对寄存器”,后跟字符“ R”,将点的位置和当前缓冲区都保存在寄存器R中。寄存器将保留此信息,直到您在其中存储其他内容为止。

命令“ Cx rj R”切换到寄存器R中记录的缓冲区,并将点移动到记录位置。寄存器的内容不会更改,因此您可以多次跳转到保存的位置。

如果使用C-x r j' to go to a saved position, but the buffer it was saved from has been killed,Cx,则rj'尝试通过访问同一文件再次创建缓冲区。当然,这仅适用于正在访问文件的缓冲区。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.