2013-02-06 8 views
5

これは一見簡単にコードの平易さは実際にポイントを移動しません。with-current-bufferはポイントを移動しません

(with-current-buffer "foo" 
    (goto-char (point-max))) 

AFAIK with-current-bufferは、ターゲットバッファ内のポイントを復元しないでください。 そうでなければ、バッファ内のポイントをどのように操作するのですか?

+0

これが働いコードである - '(MAPC(ラムダ(ウィン) \t((式(選択ウィンドウ)が勝利しない限り) \t \t(と選択ウィンドウが \t \t(後藤-CHAR(ポイントを獲得します' – navgeet

+1

' mapc()の代わりに 'dolist'を使うことをお勧めします。 '(少し速く、しばしばインデントが少し良くなる)。 – Stefan

答えて

6

あなたは、ウィンドウのポイントとバッファのポイントを混同していると思います。 "foo"を表示しているウィンドウでカーソルを移動する場合は、goto-charを実行しているときにそのウィンドウを選択するか、set-window-pointを使用する必要があります。一般に、バッファにはN + 1個の点があります(1つは独自のもので、Nはバッファを表示するN個のウィンドウ用です)。

0

はやってみます

(set-buffer "foo") 
(goto-char (point-max)) 
+0

これはうまくいきません。 Btw、fooは新しく作成されたバッファです。 – navgeet

1

あなたはswitch-to-bufferを使用して、スイッチバックが必要になる場合があります。

関連する問題