我想知道除了基本的导航命令之外是否:
C-p : Jump backwards one line.
C-n : Jump forward one line.
C-v : Jump forward one full screen.
M-v : Jump backwards one full screen.
M-a : Go to the previous paragraph beginnings.
M-e : Go to the next paragraph end.
M-g g: Jump to a specific line
emacs 提供任何命令来轻松滚动数千或数百万行。
更具体地说,我正在寻找一个可以用来向前(或向后)移动1%
文件的命令(也许是一个可以与文件组合C-u
并可用于滚动任意%
文件的命令?)
答案1
命令beginning-of-buffer
(C-home
或M-<
) 和end-of-buffer
(C-end
或M->
) 采用数字参数。如果参数是氮,然后命令带你氮/10 的方式。 (经过一些舍入:这些命令将您带到行的开头。)例如,M-1 M->
转到缓冲区中的 90% 位置,即百万行缓冲区中的第 900000 行左右。
为了更精确的控制,您可以滚动到末尾,记下行号,然后使用M-g g
( goto-line
) 到达特定行号,例如ESC 9 0 0 0 ESC g g
转到第 9000 行。
答案2
一些想法:
一种快速导航方法是使用增量搜索 ( C-s
) 及其变体。
我想知道occur
在如此大的文件的匹配之间导航是否有用。它显示一个单独的窗口,其中包含匹配正则表达式的所有匹配项,您可以使用 和 进行M-g n
导航M-g p
。
为了跳转到缓冲区的百分比,http://www.emacswiki.org/emacs/basic-edit-toolkit.el有一个函数:
(defun goto-percent (percent)
"Goto PERCENT of buffer."
(interactive "nGoto percent: ")
(goto-char (/ (* percent (point-max)) 100)))
forward-paragraph
也backward-paragraph
可能对快速导航有用,具体取决于文件结构(绑定到M-}
和M-{
)。
答案3
C-u PERCENT M-x View-goto-percent
将光标移动PERCENT
到缓冲区的路径。