回答:
使用control+ aHOMEためとcontrol+ eターミナルでENDのために。
また、使用esc+ fの先頭に移動するには、次の単語とesc+ bの先頭に移動するには、現在の単語。(現在および次のことに注意する必要があります)
行の先頭または末尾を取得する方法に関する質問に答えるために、Terminalはデフォルトでこれらのキーをそれにマップするように見えます:
帰宅して「通常の」方法で作業を終了する場合(シフトは不要)、[ターミナルメニュー]→[設定]→[プロファイル]タブ(またはOS Xの一部のバージョンの設定)→[キーボード]サブタブに移動します。
次に、これらのキーを次の「シェルに文字列を送信」するように変更/追加します
\033[H
\033[F
\033
追加する必要がある場合は、編集ダイアログの入力内でエスケープキーを押すことでパーツを取得できます。
その後、ホームとエンドは再び通常のように動作します(フェー)。
また、ターミナルではデフォルトで「alt +←」と「alt +→」が左の単語と右の単語にマップされることに注意してください。
Mac OS Xの以降のバージョンでは、ホーム/終了キーを押したときに端末画面が上下に移動した場合、ホームキーを設定し\033[1~
、終了キーを使用して\033[4~
目的の結果を得る必要があります(シフトは不要です) 。
コミュニティWikiであるため、この回答を修正して、より便利なキーバインディングを追加してください。
readlineとbashを使用していくつかのヘルプを探しているようですが、ここから変更されたキーボードの非常識なリストがあります:http : //www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla 行の先頭に移動します。
Ctrle 行の最後に移動します。
Escf 単語を進めます。
Escb 単語を後方に移動します。
Ctrll 画面をクリアし、現在の行を上部に再印刷します。
Ctrlk 現在のカーソル位置から行末までのテキストを削除します。
Escd カーソルから現在の単語の終わりまで、または単語間であれば次の単語の終わりまでを削除します。
EscDel カーソルから前の単語の先頭、または単語の間にある場合は前の単語の先頭までを削除します。
Ctrlw カーソルから前の空白までを削除します。これはEscDelCtrla 、単語の境界が異なるためと異なります。
Ctrld カーソルの下の文字を削除します。
Ctrl_ 最後に行った操作を元に戻します。元に戻すと、空の行に戻ります。
そして、ここにテキストを行に戻す方法があります。ヤンクとは、キルバッファから最後にキルされたテキストをコピーすることを意味します。
Ctrly 最後にキルしたテキストをヤンクして、カーソルの位置にあるバッファに戻します。
Escy キルリングを回転させ、新しいトップをヤンクします。これは、前のコマンドがCtrlyまたはの場合にのみ実行できEscyます。
option+ leftとoption+ を使用して、一度に1つの単語を移動できrightます。
homeおよびの使用に関してend、ターミナルのデフォルトのバインディングは次のとおりです。
他の多くの端末アプリ(複数のプラットフォーム)では、変更されたペアと変更されていないペアが逆になります(つまり、裸homeでend現在の行をジャンプするために使用され、変更されたバージョン(by shiftまたはother)がスクロールバックバッファーをナビゲートするために使用されます) )。必要に応じて、次の操作を行うことにより、ターミナルのバインディングをそのように機能させることができます。
[ターミナル]メニュー→[設定]→[設定/プロファイル]タブ→[キーボード]サブタブに移動します。
次に、キーとアクションのペアを次のように変更します。
注:\ 033は、エスケープキーを押して、[編集]ダイアログの[送信するテキスト]ボックスに入力します。
そこにいる間、あなたは同様のバインディングを交換することもできます修飾および非修飾page upとpage down、一貫性のあるものを維持するために:ナビゲーションキーを押してshift、ターミナル自体(文書のようなスクロールバックバッファをナビゲートする)にコマンドを表し、1を押しながらなしキーを押して実行しているものは何でもを通じて送信中に(例えば、それbash
、less
、nano
、screen
、など)。そのためのキーとアクションのペアは次のとおりです。
他の答えは素晴らしく、より移植性がありますが、ここに通常のキーボードの「OS Xの方法」があります(他の多くの端末の反対です)。以下を試してください:
ShiftHome-行の始まり-行の
ShiftEnd終わり
目的の機能を備えたマッピングhomeとendキーは、問題を簡単に解決します。
多くの回答が投稿されていますがzsh
、を使用している場合は、次のように設定できますhome。
\001
およびに設定end:
\005
設定-プロファイル-キーボードをクリックします。
これは、vimでも動作させる最も効果的な方法です。[ターミナル]-> [設定]-> [プロファイル]-> [キーボード]に移動して、以下を追加します。
キー:↖アクション:\ 033OH
キー:↗アクション:\ 033OF
この問題に対する代替ソリューションを提供したいと思います。これは、viユーザーであればうまく機能します。TerminalのVim Key Bindingsは、vimスタイルで端末を使用する方法を提供します。これset -o vi
は、ターミナルに入力することで実行でき.bash_profile
、必要に応じて自由に入力できます。この後、ターミナルは実質的にvimエディターになります。esc
キーを使用してコマンドモードに入り、vimのように歩き回ることができます。たとえば0
、最初に移動$
し、最後に移動します。また、I
とA
を使用して、最初と最後に移動し、すぐに編集モードに入ることもできます。w
またb
、1単語ずつ前後に移動できます。を押して視覚モードにしようとするとv
、vimエディターが表示され、このエディターを終了するときに持っているテキストがターミナルで実行されます。
このvimキーバインディングは、他の回答から学習したすべてのホットキーを無効にすることに注意してください。
必要に応じて、印刷可能な形式のリストを次に示します。
説明の「バグ」も修正しました。これは、元々指示書で読むことができたものです。
ESC-dカーソルから前の単語の先頭を削除します。単語間であれば、前の単語の先頭までを削除します。
これは、カットアンドペーストのミスのようにひどく臭いがします。両方の部分的な文がまったく同じことを伝えるからです。単純な論理から言うと、前半は実際に「カーソルから現在の単語の先頭まで」を読む必要があります。