Next: Erasing, Previous: Inserting Text, Up: Basic [Contents][Index]
文字の挿入以上のことを行うには、ポイントを移動する方法について知る必要があります(Pointを参照してください)。キーボードのコマンドC-f、C-b、C-n、C-pは、それぞれ右・左・下・上にポイントを移動します。ほとんどのキーボードにある矢印キー — RIGHT、LEFT、DOWN、UPでもポイントを移動できます。しかし多くのEmacsユーザーは矢印キーより、コントロールキーのほうが速いと考えています。なぜなら矢印キーを押すためにそれらが配置されている領域に手を動かす必要があるからです。
ポイントを移動したい場所でマウスの左ボタンをクリックしてもポイントを移動できます。Emacsは、さらに洗練された方法でポイントを移動する、さまざまなキーボードコマンドを提供します。
1文字前方(forward)に移動します (forward-char
)。
このコマンド(right-char
)は、C-fと同じように振る舞いますが1つ例外があります。もしアラビア語のようにright-to-left(右から左に記述する)な文書を編集する場合、現在のパラグラフが右から左で記述するパラグラフなら、後方に移動することになるのです。Bidirectional Editingを参照してください。もしvisual-order-cursor-movement
が非nil
の場合、このコマンドは現在のスクリーン位置の右の文字に移動し、前または次のスクリーン行に適切に移動します。これはその場所の双方向コンテキストに依存するので、多くのバッファーのポイントがあいまいになる可能性があることに注意してください。
1文字後方(backward)に移動します (backward-char
)。
このコマンド(left-char
)は、C-bと同じように振る舞いますが1つ例外があります。もしアラビア語のようにright-to-leftの文書を編集する場合、現在のパラグラフが右から左で記述するパラグラフなら、前方に移動することになるのです。Bidirectional Editingを参照してください。もしvisual-order-cursor-movement
が非nil
の場合、このコマンドは現在のスクリーン位置の左の文字に移動し、前または次のスクリーン行に適切に移動します。
スクリーンに表示された行で1行下に移動します(next-line
)。このコマンドは横方向の位置を変更しないよう試みます。そのため行の途中でコマンドを開始すると、次の行の途中に移動することになります。
スクリーンに表示された行で1行上に移動します(previous-line
)。このコマンドはC-nと同様、行内の位置を保ちます。
行の先頭に移動します(move-beginning-of-line
)。
行の最後に移動します(move-end-of-line
)。
1単語前方に移動します(forward-word
)。
このコマンド(right-word
)はM-fと同様に振る舞います。例外は現在のパラグラフがright-to-leftの場合、1語後方に移動することになります。Bidirectional Editingを参照してください。
1単語後方に移動します(backward-word
)。
このコマンド(left-word
)はM-bと同様に振る舞います。例外は現在のパラグラフがright-to-leftの場合、1語前方に移動することになります。Bidirectional Editingを参照してください。
スクリーン上のテキストを移動させることなく、ポイントの位置をウィンドウ上で中央にもっとも近いテキスト行の左端に移動します。連続して呼び出すと、最上行の左端、最下行の左端へと循環的にポイントを移動します(move-to-window-line-top-bottom
)。
数引数はスクリーンの行の何行目にポイントを移動するか指定します。数値はウィンドウの最上行から数えた行数です(0は最上行を意味します)。負の引数は最下行から数えた行数です(-1は最下行を意味します。数引数については詳細は、Argumentsを参照してください。
バッファーの先頭に移動します(beginning-of-buffer
)。数引数nが与えられた場合、最上行からn/10に移動します。
バッファーの最後に移動します(end-of-buffer
)。
画面を1画面前方にスクロールします。もし必要ならポイントをスクリーン上の位置に移動します(scroll-up-command
)。Scrollingを参照してください。
画面を1画面後方にスクロールします。もし必要ならポイントをスクリーン上の位置に移動します(scroll-down-command
)。Scrollingを参照してください。
数値nを読み取り、ポイントをバッファー位置nに移動します。1を指定するとバッファーの先頭に移動します。
数値nを読み、ポイントをバッファーの先頭からn行目に移動します。行に1を指定するとバッファーの先頭に移動します。もしポイントがバッファーの数字の上または直後にある場合、その数がnのデフォルトになります。ミニバッファーで単にRETを押すと、その数が使われます。数値のプレフィクス引数でnを指定してM-g M-gに与えることもできます。単にプレフィクス引数を与えた場合のM-g M-gの動作については、Select Bufferを参照してください。
数値nを読み取り、現在行のn列目に移動します。列0は最左列です。プレフィクス引数とともに呼び出された場合、引数で指定された数の列に移動します。
カレントバッファー内の現在ポイントがある列をC-nやC-pの半恒久的な目標列(semipermanent goal column)として使用します。目標列が有効な場合、これらのコマンドで垂直に移動すると、その列もしくはできる限り近い列に移動しようと試みます。目標列はキャンセルされるまで有効です。
目標列をキャンセルします。それ以降のC-nやC-pは通常どおり水平位置を保とうと試みます。
バッファーのテキストがウィンドウの幅より長い場合、通常Emacsは2行以上のスクリーン行(screen
lines)で表示します。便宜上、C-nとC-pそしてdownとupも、同様にスクリーン行にしたがってポイントを移動します。これらのコマンドを論理行(logical
lines)(たとえばバッファーのテキスト行)にしたがって移動させるには、line-move-visual
にnil
をセットします。そうすると論理行が複数のスクリーン行となるような場合、カーソルは追加されたスクリーン行をスキップします。詳細はContinuation Linesを参照してください。line-move-visual
などの変数をセットする方法については、Variablesを参照してください。
C-nやC-pと異なり、ほとんどのEmacsコマンドは論理的な行に作用します。たとえばC-a
(move-beginning-of-line
)やC-e
(move-end-of-line
)は、論理行の先頭もしくは最後に移動します。C-nやC-pのようにスクリーン行に作用するコマンドの場合、わたしたちはそれを示すようにします。
line-move-visual
がnil
の場合、変数track-eol
にも非nil
値をセットできます。そうすると論理行の行末でC-nやC-pを開始すると、次の論理行の行末に移動します。通常track-eol
はnil
です。
通常C-nをバッファーの最後の行で使用した場合、バッファーの最後でストップします。しかし変数next-line-add-newlines
に非nil
値をセットした場合、バッファーの最後の行でC-nを押すと、行を追加してその行に移動します。
Next: Erasing, Previous: Inserting Text, Up: Basic [Contents][Index]