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

时间:2015-05-30 00:20:09

标签: vim

完成此just the middle kata,

Leave only the
numbered lines.
LINE 1
LINE 2
LINE 3
That's all.
Thank you
very much.

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

djGd2kZZ

它基本上将命令链接在一起。但是下面做了什么,为什么我不能在缓冲区中看到它?我试着省略“q!” (退出?)命令但是它没有用。

)3:wq!<CR>

1 个答案:

答案 0 :(得分:5)

... other functions all listed void inbox_received_callback(DictionaryIterator *iterator, void *context); void inbox_dropped_callback(AppMessageResult reason, void *context); void outbox_failed_callback(DictionaryIterator *iterator, AppMessageResult reason, void *context); 是一个motion,它会向前跳一个句子。一句话是:

)

在此文件中:

*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 将光标移动到)的开头。

LINE 1是保存和退出的常用序列,在没有提示的情况下进行覆盖。

诀窍在于:wq!<CR> accepts a range command

:w

:[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:

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> 变为3:w意味着写下当前行和以下两行。

:.,.+2w 不会删除除编号行之外的所有内容,而会将编号行保存在原始文件上。当Vim强制退出时,文本的其余部分将丢失。这就是为什么你看不到缓冲区的变化 - 它不会改变。

(过了一会儿,我自己也得到)3:wq!<CR>这个,并且不知道你可以做[范围]:直到我看到更短的答案)。