私が読んだすべてのvi
ドキュメントでこれを何百万回も見たことがありますが、カーソルから行末コマンドまでの削除を見つけることができないようです。
コマンド dw 現在のカーソル位置から次のWord文字の先頭まで削除します。コマンド d$ (これはドル記号であり、 'S'ではありません)は、現在のカーソル位置から現在の行の末尾までを削除します。 D の同義語です d$。
他の人が述べたように:d$
またはD
(shift-d)カーソル位置から行末まで削除します。
私が通常より便利だと思うのはc$
またはC
(shift-c)カーソル位置から行末まで削除されるためandは[INSERT]モードになります。
Viの良い点の1つは、論理的なコマンド構造です。 d
の後にモーションコマンドが続くdそのモーションのターゲットに移動します。 $
は行の終わりに移動します(ニーモニック:正規表現のように)。そう d$
行末まで削除します。同様に、e
は現在の単語のe ndに移動し、w
は次の単語の最初に移動しますw ord;したがって、de
は現在のWordの末尾を削除し、dw
はさらに次の空白を削除します。
おそらくDを使用したいでしょう。削除する最初の文字にカーソルを移動し、Shift-Dを押します。すべてがなくなった。実際には、デフォルトのカットバッファーにあるので、PまたはPで貼り付けることができます。
Dp(行の最後まで削除してから元に戻す)を使用し、他の行の最後に移動してから、もう一度pを入力して、この別の行の最後に同じテキストを貼り付けます。いくつかの複雑なURLを2か所以上に配置する必要がある設定ファイルで機能します。
カーソル位置の後から行の範囲を削除するには、 3D カーソルから行の終わりまで削除され、次の2行も完全に削除されます(つまり、カーソル位置の3行後に削除されます)。
例えば次のテキストの場合(カーソルは|
)、
If there's a cursor |in the line
here
we
go
コマンドを使用する 3D 出力されます:
If there's a cursor
go
挿入モードのショートカットが役立つと思います。
挿入モードでは、行の終わりまで変更を開始する方が良いでしょう(これを~/.vimrc
):
inoremap <C-l> <C-o>C
言われたように、あなたは持っています、 D 通常モードで Ctrl+l 挿入モード。ご覧のとおり、 C それは行の終わりまで変化し始めます。
<C-o> ......... insert normal keystroke in insert mode
私は選んだ Ctrl-l l
があなたの指の下にあるからです。の Ctrl-k ダイグラフを挿入するためにすでに使用されています。
:h i_Ctrl
にはいくつかの無料のキーバインドがあり、vimでアクションを実行するための新しいショートカットを作成する場合、それは実際にはより大きな問題です。