t cまたはを使ってTc次/前の文字に移動できることがわかりました。c
fcまたはを使用して、Fc次/前の文字に移動することもできます。c
これらの間の唯一の違いは、tcカーソルを文字の前に置きTc(後ろに)、カーソルを文字の前に置くことです。後ろにキャラクターとfcそのFc両方をキャラクター自体に配置しますか?
答え1
これらの間の唯一の違いはカーソル位置です。から:help motion.txt
:
f
f{char} To [count]'th occurrence of {char} to the right. The
cursor is placed on {char} inclusive.
{char} can be entered as a digraph digraph-arg.
When 'encoding' is set to Unicode, composing
characters may be used, see utf-8-char-arg.
:lmap mappings apply to {char}. The CTRL-^ command
in Insert mode can be used to switch this on/off
i_CTRL-^.
F
F{char} To the [count]'th occurrence of {char} to the left.
The cursor is placed on {char} exclusive.
{char} can be entered like with the f command.
t
t{char} Till before [count]'th occurrence of {char} to the
right. The cursor is placed on the character left of
{char} inclusive.
{char} can be entered like with the f command.
T
T{char} Till after [count]'th occurrence of {char} to the
left. The cursor is placed on the character right of
{char} exclusive.
{char} can be entered like with the f command.
答え2
はい、あなたが言ったように、2つの間の主な違いはカーソル位置です。
たとえば、特定の文字を削除または変更したい場合に便利です。次の行があるとしましょう。
print "Hello, world!\n"; exit
セミコロンの前の内容をすべて変更したいとしましょう。これを行うには、行の先頭(^)に移動してすべての項目をセミコロンにc囲む必要があります。t
逆に、最初のコマンドだけを削除して1つだけを維持するには、セミコロンを入力してすべてを削除exit
します。df
簡単に言えば、fは運動命令tと呼ばれるものです。vim
前の演算子を修正するのに役立ちます。演算子を移動すると、f現在のカーソル位置間のすべての文字に対して機能します。そして含むあなたがジェスチャーを取るキャラクターf。t反対を選択すると、交換員を除いてあなたがジェスチャーを取るキャラクターt。