所以我正在玩vim冒险而且我被卡住了。我需要一个Vim命令来删除红色键。我以为dd
会这样做,但只会删除当前行。
答案 0 :(得分:11)
使用 d a s 或 d i s < / kbd>删除一个句子。使用 d a p 或 d i p 删除一个段落。有关详细信息,请参阅:help text-objects
。与您的问题无关,请参阅this wiki页面,了解提供其他非常有用的文本对象的插件。
答案 1 :(得分:7)
主题中的查询答案“删除到vim中的句子结尾”尚未发布。它可能对OP没有用,但对于未来的搜索者来说也是如此。
d )
跳转到下一个句子的开头,因此matrix
将删除(从光标)直到下一个句子的开头。需要注意的一个陷阱是vim通过句点和两个空格检测同一段落中两个句子的界面。如果你在一段时间之后有一个空格,它将经过它并删除下一个句子。
如果您特别想要移动(并删除)句子中的最后一个字符,根据this vi.SE answer更复杂:
答案 2 :(得分:1)
您可以使用命令: d 2 d ,但我不知道它是否在游戏中有效。
答案 3 :(得分:1)
另一个选项(不确定它是否在游戏中有效)是删除最多并包括句点:
d / \ / 电子
在删除命令后使用这样的搜索模式时,你必须逃避这段时间。
如果你只限于一行,那就更简单了:
d ˚F
答案 4 :(得分:1)
解决方案是dk
删除该行及其上方的行,或dj
删除该行及其下方的行。
我原来的问题实际上不是正确的问题(有多个句子)。
答案 5 :(得分:0)
如果您要从J
开始删除.
,请J
开始并使用df.
如果要删除这两行,请2dd
答案 6 :(得分:0)
Vim语法是[Nubmer] [操作员/命令] [动作或文本对象]
因此,在这种情况下,您可以使用:2dd
答案 7 :(得分:0)
要删除到句尾,从光标所在的位置,使用字母,使用“d)”。 “d”是删除命令对象,后跟一个运动对象“)”,它将光标(和删除过程)推进到句子的末尾。
要删除一个句子的“周围”,包括所有多余的空格,请使用“das”(删除周围的句子)。或者要删除句子内部,而不是所有空格,然后使用“dis”(删除句子内部)。
一旦你理解了 VIM 语言,那么你就可以轻松记住大量的操作。使用此表了解 VIM 的词汇:
计数数字 + 文本对象命令 + 运动(或操作符) “3das”将执行“删除3次左右的句子”
因此,如果可行,您可以放置一个数字,后跟... 命令:
d=delete
y=yank (into memory buffer to "put" later)
c=change (delete then insert new text)
然后是一个动作:
) = move cursor to end of sentence
( = move cursor to beginning of prior sentence
} = move cursor to the next paragraph
{ = move cursor to the beginning of the prior paragraph
w = move cursor to next word
b = move cursor back a word
$ = move cursor to the end of the logical line
0 = (zero) move cursor to the beginning of the logical line
G = move cursor to the end of the file
gg = move cursor to the beginning of the file
h, j, k, or l (you might have to look those up)
OR 而不是 Motion,使用以下方法定义区域:
a = around
i = inside
后跟光标周围区域的名称:
s = sentence
p = paragraph
w = word
t = xml-tag <tag example> lots of text between tags </tag example>
< or > = inside or around a tag, frequently found in xml documents
{ [ ( ) ] } = inside or around any type of bracket ...
... {a large area [some more (a little stuff) things] of a great many things }
答案 8 :(得分:0)
实际上,我从帮助文件中发现这个表格是块命令的最佳概述:
"dl" delete character (alias: "x")
"diw" delete inner word
"daw" delete a word
"diW" delete inner WORD (see |WORD|)
"daW" delete a WORD (see |WORD|)
"dgn" delete the next search pattern match
"dd" delete one line
"dis" delete inner sentence
"das" delete a sentence
"dib" delete inner '(' ')' block
"dab" delete a '(' ')' block
"dip" delete inner paragraph
"dap" delete a paragraph
"diB" delete inner '{' '}' block
"daB" delete a '{' '}' block
所以删除一个句子是das
或删除一个段落是dap
。