2011-09-14 6 views
18

Emacsでインクリメンタル検索(C-s)をC-fに再マップするにはどうすればよいですか?Emacsで 'search'と 'search-repeat'をC-fにバインドする方法はありますか?

私は(global-set-key (kbd "C-f") 'isearch-forward)をしようとするが、第2 C-Fは、検索を繰り返していないと私はC-Sを使用する必要があります。

私は(global-set-key (kbd "C-f") 'isearch-repeat-forward)を試しましたが、最初のC-fは検索を開始しませんでした。

さらに、私は(global-set-key (kbd "C-f C-f") 'isearch-repeat-forward)を試しましたが、これはエラーの原因となります。

検索と検索の繰り返しコマンドにC-fを使いたいのですが、どうすればいいですか?

ありがとうございました。

答えて

16

(define-key isearch-mode-map "\C-f" 'isearch-repeat-forward)

+3

Worked! ' (定義キーisearch-mode-map" \ C-f "'isearch-repeat-forward)' ありがとう、ありがとうございました。 –

5

isearch-repeat-forwardあなたの問題を解決するにはisearch-mode-map

に定義されて次の操作を行います。

(global-set-key (kbd "C-f") 'isearch-forward) 

(add-hook 'isearch-mode-hook 
(lambda() 
(define-key isearch-mode-map (kbd "C-f") 'isearch-repeat-forward) 
) 
) 

EDIT:実際には、あなたがフックを追加する必要はありませんが。ロス・パターソンが受け入れた答えは正しい。

+0

このソリューションを使用しました。ありがとう。 –

+0

なぜモードフックでこれを行うのですか?単一回の 'define-key'を使ってモードマップを一回変更するのではなく、@ ross-pattersonが答えたのはなぜですか? –

+0

@Davor Cubranicはい、受け入れられる答えは正しいです –

関連する問題