vim中的这一系列击键如何删除除编号行以外的所有内容?

vim中的这一系列击键如何删除除编号行以外的所有内容?,vim,Vim,通过这个kata工作 以下击键序列有意义,并在缓冲区中执行某些操作: djGd2kZZ 它基本上是将命令链接在一起。但是下面的操作到底是什么,为什么我不能在缓冲区中看到它?我试着省略“q!”(quit?)命令,但结果它不起作用 )3:wq!<CR> )3:wq! )是一个向前跳一句的句子。一句话是: *sentence* A sentence is defined as ending at a '.', '!' or '?' followed by either the

通过这个kata工作

以下击键序列有意义,并在缓冲区中执行某些操作:

djGd2kZZ
它基本上是将命令链接在一起。但是下面的操作到底是什么,为什么我不能在缓冲区中看到它?我试着省略“q!”(quit?)命令,但结果它不起作用

)3:wq!<CR>
)3:wq!
是一个向前跳一句的句子。一句话是:

*sentence*

    A sentence is defined as ending at a '.', '!' or '?' followed by either the
    end of a line, or by a space or tab.
在此文件中:

Leave only the
numbered lines.
LINE1
前两行是以点和换行结尾的句子,因此
将光标移动到
第1行的开头

:wq是保存和退出的常见顺序,在不提示的情况下覆盖

诀窍在于
:w

把一个数字放在
前面是
N:

计数和范围*N:*
在输入“:”之前进行计数时,这将转换为:
:,.+(计数-1)
换句话说:光标处和之后的“计数”行。示例:删除
三行:
3:d转换为:,.+2d
3:w
变为
:,.+2w
表示写当前行和下面两行

)3:wq不会删除除编号行以外的所有内容,它会将编号行保存在原始文件上。Vim force退出时,文本的其余部分将丢失。这就是为什么你看不到缓冲区的变化——它没有变化

(过了一会儿,我自己也得到了
djGd2kZZ
,我不知道你能做[range]:w,直到我看到了简短的答案)

Leave only the
numbered lines.
LINE1
:[range]w[rite][!] [++opt]

    Write the specified lines to the current file.  This
    is unusual, because the file will not contain all
    lines in the buffer.
Count and Range                     *N:*

    When giving a count before entering ":", this is translated into:
        :.,.+(count - 1)

    In words: The 'count' lines at and after the cursor.  Example: To delete
    three lines:
        3:d<CR>    is translated into: .,.+2d<CR>