我想删除一个以大量括号结尾的序列,而不是计算括号的确切数目以进行d [count] f),我想删除一行中的最后一个字符。
我尝试了dt $,但没有成功。
编辑:最终,我们可以排除更多字符吗?
答案 0 :(得分:4)
因此,正如我所看到的,真正的问题是“如何删除直到(且不包括)行中的最后一个字符。
答案是:dv$
。参见:h exclusive
和:h o_v
。
答案 1 :(得分:0)
您可以使用marks或视觉选择。例如带有标记:
ma$d`a
拆分命令:
ma Mark the current cursor position with mark a
$ Go to the last character in the line
d`a Delete back to the mark a
如果需要在行末保留几个字符,请在Nh
之后添加$
。例如:
ma$3hd`a
视觉选择:
v$3hx
使用一个必填参数定义命令:
function! DelToEOL(n)
execute 'normal v$' . string(a:n + 1) . 'hx'
endfunction
command -nargs=1 DelToEOL :call DelToEOL(<args>)
+ 1
是必需的,因为视觉选择会选择要排除的当前字符。