1

最近、プログラムのコードを書くためにemacsを使い始めました。トリックを使用せずに行頭から 直接n 番目の文字に到達する「コマンド」があるかどうか疑問に思っていました( n 回繰り返す などC-f)。私は簡単にemacsのマニュアルを調べましたが、何も見つかりませんでした。

4

3 に答える 3

5

n==12の場合

C-u12C-f

また

C-1C-2C-f

于 2012-05-22T15:01:42.640 に答える
3

私は簡単にemacsのマニュアルを調べましたが、何も見つかりませんでした。

C-hrC-s repeat

于 2012-05-22T15:31:53.207 に答える
1

(これはコメントするには長すぎます)

コマンドの組み合わせは使いたくないとおっしゃいましたが・・・ Emacsの特徴の一つは、関数を組み合わせることで「拡張」しやすいことです。頻繁に繰り返し、自動化したいタスクがありますか? 問題を解決する関数を作成し、それをキーにバインドします。または、マクロを記録して再生します (必要に応じてキーにバインドします)。

n番目の文字に行くことに関しては、私がそれを行う方法は、私が何を求めているかによって異なります...

  • 通常、「インデント」に移動したい場合は、Caにバインドされた便利な関数 (おそらく SO の誰かから入手したもの) を使用します。これは、行の先頭またはインデントに移動する間を循環します。

    (defun beginning-of-line-or-indentation ()
    
    "move to beginning of line, or indentation"
     (interactive)
     (if (bolp)
         (back-to-indentation)
       (beginning-of-line)))
    
  • 特定の文字に移動したい場合は、通常isearch-forward (デフォルトではCsにバインド) を使用してから、目的の文字を入力します。私はこれを常に使用しており、時間を大幅に節約できます。Emacs (またはその他のもの) を使用し、Cs を実行してから 1 つまたは 2 つの文字を入力するだけで簡単に到達できる場所にカーソルを「ずっと」移動している人々のビデオをたくさん見ますが、それはいつも私の心を揺さぶります。もちろん、複数行にわたって機能し、 isearch-backwardを呼び出すことで逆方向に検索できます(デフォルトではCrにバインドされています)。

  • それ以外の場合は、 universal-argument (Cu) で問題ありませんが、行の先頭にいない場合は機能しません。

何らかの理由でこれを頻繁に行う必要がある場合は、行頭を呼び出してから必要な文字数だけ進む関数を書くのは簡単です...もちろん、これはEmacsなので、その関数はすでに存在 : )

于 2012-05-23T12:33:25.457 に答える