8

を使用して設定されたマーカーの場所にジャンプするには、どの変数または関数を使用する必要がありますset-mark-command C-SPCgoto-char?

(defun jump-to-mark ()
  (interactive)
  (goto-char <WHAT PUT HERE>))
4

4 に答える 4

14

exchange-point-and-markコマンド ( にバインド)はマークにジャンプし、現在の位置 (つまり、ジャンプの直前) をマーク リングの上にC-xC-x置きます。

副作用として、領域がアクティブになります。C-uC-xC-xこれを避けるために、前置引数を渡すことができます (つまり、 を押します)。


他の回答で述べたように、マーク リング内を移動する別の方法は、マークC-uC-SPCにジャンプしてマーク リングから削除する を使用することです。したがって、コマンドを繰り返すと、すべての連続するマーク位置を新しい順にナビゲートできます。ただし、そのようにアクセスしたマーク位置は失われます。

C-uC-SPCisの兄弟C-xC-SPCは非常に似ていますが、すべての buffers に連続するマークを格納するグローバルマーク リングに作用します。

于 2013-03-07T13:39:15.327 に答える
5

mark-markerジャンプする機能は次のようにする必要があることがわかりました。

(defun jump-to-mark ()
  (interactive)
  (goto-char (mark-marker)))
于 2013-03-07T10:34:55.463 に答える
4

あなたが探しているのは

pop-global-mark は、`simple.el' 内のインタラクティブにコンパイルされた Lisp 関数です。

Cx C-@、Cx C-SPC にバインドされています。

(ポップグローバルマーク)

グローバル マーク リングをポップオフし、トップの場所にジャンプします。

別のオプションは、コマンドを実行する Cx Cxexchange-point-and-markです。

于 2013-03-07T12:43:21.140 に答える
3

(mark)元のコードに沿ったままにするには、WHAT PUT HERE の代わりに配置するだけで機能します。これは(mark)、マークの位置を返すためです ((point)ポイントの位置整数を返すのと同じように)。

(defun jump-to-mark ()
  (interactive)
  (goto-char (mark)))
于 2013-03-07T16:21:02.537 に答える