我在一个文本里面有若干行假设是下面这个样子: d c b a c b a 第一行的d与后面带有缩进的三行看成一个整体与5,6,7行进行排序,想要的结果是: a b c d c b a 然后单独对带有缩进的最后三行进行排序,最终结果是: a b c d a b c 大家有什么方法来实现吗?有能实现这种功能的插件或者是vim自带的命令吗?
我在一个文本里面有若干行假设是下面这个样子: d (空格*4)c (空格*4)b (空格*4)a c b a 第一行的d与后面带有缩进的三行看成一个整体与5,6,7行进行排序,想要的结果是: a b c d (空格*4)c (空格*4)b (空格*4)a 然后单独对带有缩进的最后三行进行排序,最终结果是: a b c d (空格*4)a (空格*4)b (空格*4)c 大家有什么方法来实现吗?有能实现这种功能的插件或者是vim自带的命令吗?
如果文件不是超级大,可以: #!perl -lw use strict; undef $/; my @array; my @temp = sort map{split/\n(?!\s+)/}<DATA>; for (@temp){ if (/\s+/) { @array =split/\n/; print $array[0]; print join "\n",sort grep{/^\s+/}@array; } else{ print; } } __DATA__ e ****b ****d ****c c d b f ****i ****j ****a