51

マウスホイールを使用してEmacsでスクロールすると、一度に5行スクロールしますが、これは多すぎると思います。新しい値をどこに設定すればよいですか?

また、Emacsをマウス(ホイールまたはスクロールバーのいずれか)でスクロールすると、カーソルがジャンプして表示されている画面領域内に留まります-その動作をオーバーライドして、それがあった場合でも、その動作をそのままにしておく方法があります画面から消えますか?つまり、スクロールによって新しく入力された記号が表示される位置が変更されたくないのです。

コードのリモートセクションを覗いて、すぐに元の位置に戻る方法についての代替案も歓迎します。

4

7 に答える 7

84

量は変数mouse-wheel-scroll-amount(mwheel.el)で制御できます。

編集:例えば (setq mouse-wheel-scroll-amount '(1 ((shift) . 1) ((control) . nil))) 、一度に1行ずつ.emacsに追加します。

(setq mouse-wheel-progressive-speed nil)私の.emacsにも、より良い振る舞いがあると思います。

于 2009-01-15T06:55:57.140 に答える
6

ブレッドクラムを使用して、バッファーまたはすべてのバッファーの周りにトレイルを残します。

パンくずリストをドロップし、必要なものを探して、パンくずリストに戻ります。これが私が設定したものです、FWIW:

(global-set-key [(f6)] 'bc-set)
(global-set-key [(shift f6)] 'bc-list)
(global-set-key [(control f6)] 'bc-previous)
(global-set-key [(meta f6)] 'bc-next)
(global-set-key [(shift control f6)] 'bc-local-previous)
(global-set-key [(shift meta f6)] 'bc-local-next)

それが役立つことを願っています。

于 2009-01-15T13:19:34.667 に答える
2

コードのリモートセクションを覗いて、すぐに元の位置に戻る方法についての代替案も歓迎します。

BobGlicksteinの「 WritingGNUEmacsExtensions」の第3章では、プログラミング例としてunscroll-function(scroll-commandスタック内の指定された場所に戻る)を構築しています。

コードはオンラインで表示されますが、それを使用するとECBとの競合が報告されます。

于 2009-01-15T20:53:51.660 に答える
2

ブックマークソリューションまたはレジスタを使用できますが、組み込みマークとマークリングも使用できます-

(default binding) 

C-Space to set mark (push a mark in mark ring)
C-u C-Space to pop a mark off the ring; repeat this a few more time should 
            get you where you like to be

または、ハイライト領域がオンになっていない場合、またはハイライトを表示してもかまわない場合は、

C-x C-x (exchange-point-and-mark) switch between you current point and your previous mark.
于 2009-01-15T14:50:43.967 に答える
2

現在のビューの外側のどこかに「ポイント」が存在することは不可能です。すべてのポイント移動コマンドは、ディスプレイも移動します。それがemacsの基本的な前提だと思います。

最後のポイントで必要なこと、つまりリモートセクションをのぞいて戻ってくることは、レジスターを使用して実行できると思います。

これにより、レジスタAでの位置が保存されます。

Cx r A

そして、これはレジスタAから位置を復元します。

Cx rj A

これを頻繁に行う場合は、それらを少し冗長でないものにバインドすることをお勧めします:)

于 2009-01-15T07:25:28.063 に答える
0

使いやすい自動名前付きブックマーク-- Bookmark+を使用します。キーを押すだけで、マークを設定するのと同じくらい簡単に作成または削除できます。それらは永続的または一時的です。必要に応じて、それらを自動的に強調表示できます (フリンジまたは線)。

于 2011-11-02T18:03:19.973 に答える