我想按字母顺序对括号内的所有行进行排序(例如在CSS文件中很有用)
现在我正在做:
vi{
:sort
输入
但我更喜欢si{
(在括号内排序)。有什么方法可以达到这个目的吗?
示例:
当前状态(光标位于括号内的任何位置)
.selector {
width: 100vw;
border: 1px solid black;
display: flex;
color: blue;
}
预期输出
.selector {
border: 1px solid black;
color: blue;
display: flex;
width: 100vw;
}
答案 0 :(得分:2)
假设光标位于开头{
:
:.+1,/}/-1sort
或使用默认快捷键:
:+,/}/-sort
假设光标位于结束}
:
:?{?+1,.-1sort
或更短的:
:?{?+,-sort
假设光标位于{
和}
之间:
:?{?+1,/}/-1sort
或更短的:
:?{?+,/}/-sort
您可以像这样映射最后一个:
nnoremap siB :?{?+,/}/-sort<CR>
或按照:help :map-operator
创建运算符。