我可以按$
到行尾,因此,如果要删除所有内容,直到EOL,我可以执行d$
(或D
)。如果我要删除直到EOL列-1个字符(或更广泛地说-n个字符)怎么办?
我有一行1234.567890
,其中.
代表光标,并且想要1234.0
(.
再次代表光标)。
答案 0 :(得分:2)
怎么样
d/.$<CR>
这将删除,直到EOL前一个字符。
答案 1 :(得分:1)
如果两者之间没有相同的字符(或者很容易确定字符的数目),则$this->app->resolving(LengthAwarePaginator::class, function ($paginator) {
return $paginator->appends(array_except(Input::query(), $paginator->getPageName()));
});
和f
命令非常有用,因为它们只涉及两次击键(命令和目标字符,可能由t
开头,并且(不同于更通用的[count]
)它们仅限于当前行。对于您的示例,则为/...<CR>
。
对于更复杂的场景,在我停下来并仔细考虑可能的解决方案之前,可视模式是一种快速的替代方法,可让您反复微调区域,然后再应用命令。我认为这是对 vi 原始命令集的一个非常实用的补充。以您的示例为例,dt0
。
答案 2 :(得分:1)
没有内置的动作,但是您可以创建
:omap
轻松实现自己的目标。它将与任何
运算符。
:onoremap <silent> q :<C-U>normal! v$hh<CR>
现在dq
会做您想做的事,以及cq
会进行更改
直到最后一个字符vq
,yq
等。
通过将q
替换为:normal
启动视觉选择,直到行尾
(v$
)和后两个字符(这是因为$
选择了
直到换行符本身)。 <C-U>
清除所有可能的
范围。