vimの「find」と「till」の違いは何ですか?

vimの「find」と「till」の違いは何ですか?

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現在のカーソル位置間のすべての文字に対して機能します。そして含むあなたがジェスチャーを取るキャラクターft反対を選択すると、交換員を除いてあなたがジェスチャーを取るキャラクターt

関連情報