分页: 1 / 1

VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 9:44
jsjcjsjc
例如
lsdask
sadfhsiadlf
asdifj
sadfh sila
sdajf lsa
sda fas
asdi fjioasdf
aosdlfh

我想将上面的文字按照从短到长的方法排列
如下
a
sad
asdasd
asdasd as
asasd.sdasda
asdas.asdasdasd

office或者VIM.emacs能办到吗

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 10:32
O_O_BOT
cat file | while read line;do echo "${#line} $line";done | sort -n -k 1| cut -d" " -f2-


:em06
vim 用过滤就是了

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 21:07
jsjcjsjc
超级帅哥 可以说的详细一点吗是输入:之后就把
cat file | while read line;do echo "${#line} $line";done | sort -n -k 1| cut -d" " -f2-
黏在后面?

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 21:42
jsjcjsjc
PS 我是windows平台下的

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 21:48
sarrow
有一个办法,把行长添加到每行的头部(注意长度),然后:sort

最后Block选择模式下,删除行号即可。

添加行长:

:%s#^#\=printf("%4d ", len(getline('.')))#g

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 21:58
jsjcjsjc
sarrow 写了:有一个办法,把行长添加到每行的头部(注意长度),然后:sort

最后Block选择模式下,删除行号即可。

添加行长:

:%s#^#\=printf("%4d ", len(getline('.')))#g
厉害谢谢

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 21:59
O_O_BOT
:%s/^/\=col('$')." "/
:%sort n
:%s/\d\+ //

vim this

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 22:06
sarrow
O_O_BOT的更简洁,更命令化。

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 23:46
jsjcjsjc
应该做一个键盘映射 方便啊~~

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-02 23:48
jsjcjsjc
怎么把这3条命令一起合并在F5?

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-03 1:24
ChloeRei
= =哇,我会去写个ruby脚本搞了

Re: VIM或emacs可以按成排列工作吗

发表于 : 2009-08-18 10:34
hjjdebug
jsjcjsjc 写了:怎么把这3条命令一起合并在F5?
map <F3> :%s/^/\=col('$')/<CR>:%sort n<CR>:%s/\d\+//<CR>