我想按字母顺序对括号内的所有行进行排序(例如在 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;
}
最佳答案
假设光标位于开头{
:
:.+1,/}/-1sort
或者,使用默认快捷键:
:+,/}/-sort
假设光标位于结束}
:
:?{?+1,.-1sort
或更短:
:?{?+,-sort
假设光标位于{
和}
之间:
:?{?+1,/}/-1sort
或更短:
:?{?+,/}/-sort
您可以像这样映射最后一个:
nnoremap siB :?{?+,/}/-sort<CR>
或按照 :help :map-operator
创建一个运算符。
关于vim - 在 vim 中对括号内的行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49295843/