如何删除下一行中的char。

时间:2014-08-22 03:34:48

标签: vim

我有以下文字布局。我想从ON删除到&#34 ;;"我试图使用" dt;",但它说它找不到&#34 ;;",看起来像" t"只尝试在同一行中找到char,可以找到下一行吗?

 INNER JOIN () a *cursor* ON f.StoreID = a.StoreID
                                  AND f.UPC = a.UPC
                                  AND f.type = 'tom' ;
...other text...                                  

4 个答案:

答案 0 :(得分:3)

您必须使用d/;<CR>搜索并删除它。 (<CR>是回车:按回车键/回车键)使用d进行搜索就像使用t d一样。它将删除该字符(或使用搜索时的单词)。这是你想要的行为。如果您还要删除;,则应使用v/;<CR>d选择所有内容,然后将其删除。

答案 1 :(得分:0)

你是正确的tTfF都只看当前行。

Zach的回答是使用vanilla vim执行此操作的正确方法,但是如果您不希望使用搜索,则可以使用多个插件。

我建议你看一下vim-sneak:Sneak是一个极简主义的多功能Vim动画插件,可以跳转到两个角色指定的任何位置。使用潜行,您可以使用dz;<cr>删除下一次出现的;。这样做的好处是不会突出显示所有其他;个字符。

vim-sneak README还列出了一堆类似的插件。

答案 2 :(得分:0)

“DT;”只在一行中有用。除非你定义一个没有意义的宏,否则我认为没有办法做到这一点,因为你不能决定删除哪个“;”,下一行或下一行。我认为您使用D上的光标键入ON,然后移至下一行并输入dd。使用简单的cmd组成一个强大的cmd。就像unix一样,保持简单。< / p>

答案 3 :(得分:0)

我会使用easyMotion插件添加另一个选项。

您可以d<leader><leader>f;然后选择要删除的;。非常方便。