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

Vim、Emacs配置和使用
回复
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#1

帖子 jsjcjsjc » 2009-08-02 9:44

例如
lsdask
sadfhsiadlf
asdifj
sadfh sila
sdajf lsa
sda fas
asdi fjioasdf
aosdlfh

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

office或者VIM.emacs能办到吗
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

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

#2

帖子 O_O_BOT » 2009-08-02 10:32

cat file | while read line;do echo "${#line} $line";done | sort -n -k 1| cut -d" " -f2-


:em06
vim 用过滤就是了
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#3

帖子 jsjcjsjc » 2009-08-02 21:07

超级帅哥 可以说的详细一点吗是输入:之后就把
cat file | while read line;do echo "${#line} $line";done | sort -n -k 1| cut -d" " -f2-
黏在后面?
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#4

帖子 jsjcjsjc » 2009-08-02 21:42

PS 我是windows平台下的
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

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

#5

帖子 sarrow » 2009-08-02 21:48

有一个办法,把行长添加到每行的头部(注意长度),然后:sort

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

添加行长:

:%s#^#\=printf("%4d ", len(getline('.')))#g
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#6

帖子 jsjcjsjc » 2009-08-02 21:58

sarrow 写了:有一个办法,把行长添加到每行的头部(注意长度),然后:sort

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

添加行长:

:%s#^#\=printf("%4d ", len(getline('.')))#g
厉害谢谢
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

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

#7

帖子 O_O_BOT » 2009-08-02 21:59

:%s/^/\=col('$')." "/
:%sort n
:%s/\d\+ //

vim this
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

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

#8

帖子 sarrow » 2009-08-02 22:06

O_O_BOT的更简洁,更命令化。
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#9

帖子 jsjcjsjc » 2009-08-02 23:46

应该做一个键盘映射 方便啊~~
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

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

#10

帖子 jsjcjsjc » 2009-08-02 23:48

怎么把这3条命令一起合并在F5?
头像
ChloeRei
帖子: 1021
注册时间: 2007-11-23 9:49

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

#11

帖子 ChloeRei » 2009-08-03 1:24

= =哇,我会去写个ruby脚本搞了
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

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

#12

帖子 hjjdebug » 2009-08-18 10:34

jsjcjsjc 写了:怎么把这3条命令一起合并在F5?
map <F3> :%s/^/\=col('$')/<CR>:%sort n<CR>:%s/\d\+//<CR>
回复