ユースケース:挿入モードに入り、テキストを入力しました。今は大文字にしたいです。
を介して行うことができますgUmotion
。しかし、最近の入力セッションで入力されたテキストの動きを見つけることができません。それは少し奇妙で、そのような動きの概念はバグがあります(たとえば、テキストを削除した場合にどこに移動するのですか?)が、それは私の問題を解決するかもしれません。
または、最近入力したテキストを大文字にする他の方法はありますか?
あなたが探している動きは次のとおりです。
`[
(バッククォート、開き角かっこ)。単純なモーションを実行するには、次を使用します。
gU`[
ただし、モーションの動作方法が原因で、最後の文字が含まれない可能性があります(間違っている可能性があります)。簡単な解決策は、次のことです。
v`[U
つまり、「ビジュアルモードに移動し、現在の位置から最後に変更されたテキストの先頭までを選択し、大文字にします」ということです。詳細については、以下を参照してください。
:help '[
:help mark-motions
:help mark-motions
バックティックとシングルクォートの違いに注意してください。
vimに小文字で単語を入力します。
次に、Escキーを押します。
次に、カーソルを入力した単語の開始文字に移動します。
次に、〜キーを押します。
小文字から大文字に置き換えられます。
入力が大文字の場合、小文字に置き換わります。
gUと一緒に「インナーワード」モーションを使用することもできます
単語を入力した後、を押し<Esc>
て入力しますgUiw
。これは、ビジュアルモードに切り替えることなく機能するはずです。
ビジュアルモードでテキストを選択し、〜を使用して大文字と小文字を変更し、Uを使用して選択したテキストを大文字に、またはuを使用して小文字に変更します。
編集:以下のコメントを参照してください。