原文(日本語に翻訳)
複数行および折り返しテキスト入力において、上下矢印キーが履歴ナビゲーションよりカーソル移動を優先するように修正
原文(英語)
Fixed up/down arrow keys in multi-line and wrapped text input to prioritize cursor movement over history navigation
概要
Claude Code v2.1.20では、複数行のテキスト入力時における上下矢印キーの動作が改善されました。以前は、複数行のプロンプトを編集している際に上下矢印キーを押すと、意図に反してコマンド履歴のナビゲーションが優先され、行間のカーソル移動ができませんでした。この修正により、複数行入力時はまずカーソル移動が優先され、より自然な編集が可能になります。
基本的な使い方
複数行のテキストを入力する際、上下矢印キーで行間を移動できます:
bash
# 複数行のプロンプトを入力
> 以下のファイルを確認して:
1. src/index.js
2. src/utils.js
3. src/config.js
# カーソルが2行目にある状態で↑キーを押す
# 修正前:コマンド履歴が表示される(意図しない動作)
# 修正後:カーソルが1行目に移動する(期待通りの動作)実践例
長いプロンプトの編集
複数行にわたる詳細な指示を編集する場合:
bash
> このプロジェクトで以下のタスクを実行してください:
1. すべてのテストを実行
2. カバレッジレポートを生成
3. 失敗したテストを修正
4. 変更をコミット
各ステップの結果を報告してください。
# 1行目から4行目に移動したい場合:
# ↓キーを3回押す → 正しく4行目に移動
# ↑キーを2回押す → 正しく2行目に移動
# 修正前の問題:
# - ↓を押すと履歴の「次」に移動してしまう
# - 行間の編集が困難コードブロックの編集
プロンプト内にコードを含める場合:
bash
> 以下のコードをリファクタリングして:
function getData() {
const result = api.fetch();
return result;
}
パフォーマンスを改善してください。
# 関数の中身を編集したい:
# 3行目(const result...)に移動
# ↑↑で上に移動、↓↓で下に移動
# 修正により、スムーズに編集可能箇条書きリストの追加・編集
長いリストを作成・修正する際:
bash
> これらの機能を実装して:
- ユーザー認証
- データベース接続
- API エンドポイント
- エラーハンドリング
- ロギング
# 「API エンドポイント」の行を修正したい
# ↑キーで該当行まで移動
# 編集して↓キーで下の行へ
# 修正により:
# - リスト内を自由に移動可能
# - 各項目を簡単に編集できる折り返し表示されている長い行の編集
ターミナル幅を超える長い行を入力した場合:
bash
> この非常に長いプロンプトは自動的に折り返され、複数行に表示されますが、実際は1行のテキストです。この場合でも上下キーで視覚的な行を移動できます。
# 視覚的に3行に折り返されている場合:
# ↑キーで上の視覚的な行に移動
# ↓キーで下の視覚的な行に移動
# 修正により:
# - 折り返し表示でも直感的にナビゲート可能
# - 長いテキストの編集が容易履歴ナビゲーションとの使い分け
カーソルが端にある場合は履歴ナビゲーションが有効:
bash
# 複数行入力の例
> Line 1
Line 2
Line 3
# カーソルが1行目の先頭にある状態で↑
# → これ以上上に行けないので、コマンド履歴の前のコマンドへ
# カーソルが3行目の末尾にある状態で↓
# → これ以上下に行けないので、コマンド履歴の次のコマンドへ
# これにより:
# - 行間移動と履歴ナビゲーションの両方が使える
# - 自然な動作フローを実現注意点
- この修正は複数行入力時のみ影響します(単一行入力では従来通り履歴ナビゲーション)
- カーソルが最上行の先頭にある場合、↑キーでコマンド履歴に移動します
- カーソルが最下行の末尾にある場合、↓キーでコマンド履歴に移動します
- 折り返し表示されている場合も、視覚的な行間を移動できます
- Vimモードを使用している場合、ノーマルモードでの j/k キーも同様の動作をします