原文(日本語に翻訳)
複数行入力の行境界で Ctrl+U(行頭までを削除)が機能しない問題を修正しました。繰り返し Ctrl+U を押すことで複数行をまたいでテキストが削除されるようになりました。
原文(英語)
Fixed Ctrl+U (kill-to-line-start) being a no-op at line boundaries in multiline input, so repeated Ctrl+U now clears across lines.
概要
テキスト入力欄で複数行のプロンプトを入力している際、カーソルが行の先頭にある状態で Ctrl+U を押しても何も起こらない(no-op)バグが修正されました。修正後は、行頭で Ctrl+U を押すと前の行の末尾に移動して削除が継続されるため、複数回 Ctrl+U を押すことで複数行にわたるテキストを素早くクリアできます。
基本的な使い方
複数行テキストを入力中に Ctrl+U を繰り返して内容をクリアできます。
複数行テキスト:
行1のテキスト
行2のテキスト
行3の|テキスト ← カーソル位置
Ctrl+U を1回 → 「行3の」が削除: 行1\n行2\n|
Ctrl+U を2回 → 「行2のテキスト\n」が削除: 行1\n|
Ctrl+U を3回 → 「行1のテキスト\n」が削除: |(全クリア)実践例
ユースケース: 長いプロンプトの素早い編集
複数行のプロンプトを入力後に最初から書き直したい場合:
修正前の問題:
【複数行入力中】
「コードを最適化して
パフォーマンスを改善し
テストも追加してください」と入力
→ Ctrl+U: 「テストも追加してください」のみ削除
→ Ctrl+U: 行頭にカーソルがあるためno-op(何も起きない)
→ 削除が止まってしまう
修正後の動作:
→ Ctrl+U: 「テストも追加してください」を削除
→ Ctrl+U: 「パフォーマンスを改善し\n」を削除
→ Ctrl+U: 「コードを最適化して\n」を削除
→ 入力欄が空になるユースケース: 行をまたいだ部分削除
カーソルが複数行テキストの途中にある場合:
「コードを最適化して
パフォーマンスを改善|し ← カーソル(「し」の前)
テストも追加してください」
Ctrl+U で「パフォーマンスを改善」を削除 → 前の行末に移動
もう一度 Ctrl+U で「コードを最適化して\n」を削除注意点
- この修正は複数行テキスト入力モードに固有のものです
- 通常の単一行入力での
Ctrl+U動作は変更されていません Ctrl+Uの動作はReadlineの標準的な「行頭までを削除」のセマンティクスに準拠しています