![如何使用 vim 搜索并排序找到的所有行?](https://linux22.com/image/1314193/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20vim%20%E6%90%9C%E7%B4%A2%E5%B9%B6%E6%8E%92%E5%BA%8F%E6%89%BE%E5%88%B0%E7%9A%84%E6%89%80%E6%9C%89%E8%A1%8C%EF%BC%9F.png)
我有一些想要排序的 C++ 包含内容:
#ifndef t
#define t
#include <b>
#include <a>
#include <c>
#endif
我可以shift-v
突出显示#include 行然后执行,:sort
但如果有的话,我想用更简单的命令来执行此操作。
答案1
假设#include 行与其余文本之间至少有一个空行隔开,将光标放在第一个#include 行的开头并输入:
!}sort
答案2
尝试这个:
:command Psort :'{+1,'}-1sort
:Psort
然后,您只需键入对光标所在段落(以空行分隔)进行排序即可。(这样做的好处是,无论光标在段落中的什么位置,都可以工作。)