我有以下文字布局。我想从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...
答案 0 :(得分:3)
您必须使用d/;<CR>
搜索并删除它。 (<CR>
是回车:按回车键/回车键)使用d
进行搜索就像使用t
d
一样。它将删除该字符(或使用搜索时的单词)。这是你想要的行为。如果您还要删除;
,则应使用v/;<CR>d
选择所有内容,然后将其删除。
答案 1 :(得分:0)
你是正确的t
,T
,f
和F
都只看当前行。
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;
然后选择要删除的;
。非常方便。