Vim技巧一例(有关表格)
cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。
问题:
: 不知能否完成这个操作:
:
: 1-10行长短不一,11-20行也是,现在想把11-20行整体搬移到1-10行
: 的后面,行与行对应。1-10行最长有20字符,11-20行就从第30字符处开始
Dieken@newsmth答复:
:set ve=all 设置所有模式下都能VirtualEdit,这样,光标就能走到没字的地方。
11gg
^q9j$ 把11至20行全部选中,C-q似乎在打开MS兼容时才有用,一般是C-v。
d 剪切
1gg30| 跳到第一行第三十列
p
:set ve="" 恢复默认值。
不得不说,太厉害了 - 包括D网友和Vim。
其实本意是要构造表格的,这样粘贴后中间空白的地方是用空格填充的,如果能用Tab来分隔那就更好,转成表格时比较简单些。不知道直接是否有办法,但现在前一列与后一列之间有许多空格,起码有10个,这个条件就很强,可以用替换达到目的:
:%s/\s\{10,}/\t/g 全面替换空格(最少10个才算)为Tab制表符。
又,D网友还推荐学习VimTips,这个可以下载来看全文,也有RSS可以用,随时看到新的。
: 不知能否完成这个操作:
:
: 1-10行长短不一,11-20行也是,现在想把11-20行整体搬移到1-10行
: 的后面,行与行对应。1-10行最长有20字符,11-20行就从第30字符处开始
Dieken@newsmth答复:
:set ve=all 设置所有模式下都能VirtualEdit,这样,光标就能走到没字的地方。
11gg
^q9j$ 把11至20行全部选中,C-q似乎在打开MS兼容时才有用,一般是C-v。
d 剪切
1gg30| 跳到第一行第三十列
p
:set ve="" 恢复默认值。
不得不说,太厉害了 - 包括D网友和Vim。
其实本意是要构造表格的,这样粘贴后中间空白的地方是用空格填充的,如果能用Tab来分隔那就更好,转成表格时比较简单些。不知道直接是否有办法,但现在前一列与后一列之间有许多空格,起码有10个,这个条件就很强,可以用替换达到目的:
:%s/\s\{10,}/\t/g 全面替换空格(最少10个才算)为Tab制表符。
又,D网友还推荐学习VimTips,这个可以下载来看全文,也有RSS可以用,随时看到新的。
评论
giny:
philewar:
我装了tips,每天打开vim都有一条新的
看了五六天,学到得比较实用的有
*,#:往后/前找当前光标下的单词
[i:显示当前光标下单词第一次出现的位置(显示在命令模式那里)
[I:显示当前光标下单词在整个文件里面出现的全部位置
philewar:
在linux下面,C-v就行了
但是在Windows的gvim下面,C-v会复制剪贴板
今天又学到了一招,用C-q
philewar:
忘了admire一下了。
cathayan:
C-q那个么,老大们都推荐在Win下一定要写自己的Vimrc,以便挡掉缺少的那个,那个要引用mswin.vim
于 2006-03-18 23:57:05 发表,来自:http://blog.cathayan.org/member/1
我来评论
为保护您的隐私,请不要在评论框里填写自己的真实E-mail地址。
广告见之即删。带有任何赢利机构链接的评论都会删除。
广告见之即删。带有任何赢利机构链接的评论都会删除。

强,smth的东西,跑这里来了。