VIM tips (2)
- 利用”ayy复制后,可使用”Ayy继续复制,新的内容会添加到寄存器a的尾部。
- 除了利用*来匹配当前光标下的单词外,还可以用表示向后查找的#。此外还有g*和g#,区别在于*,#要求严格匹配一个单词。
- 启动参数:
vim + filename,vim打开后自动把光标移动到文末
vim +/pattern filename,vim打开后自动查找pattern - 多缓冲区编辑:
利用:n和:N在缓冲区间移动
利用:e filename来新开一个缓冲区
利用:e#回到上一个缓冲区,其中#表示上一个被编辑的缓冲区,类似的%表示当前缓冲区 - 外部命令:
:! command,执行外部命令
:!!,执行最近一次执行的外部命令 - 录制与回放:
当执行了:命令后,命令会自动存入:缓冲区,可以用@:回放 - :r !command与!!command有类似的作用,区别在于前者是插入而后者是替换
你可能会感兴趣
on November 13th, 2009 | 8 Comments »

弱弱的问一句..”ayy 跟 yy 或者 V+y 有嘛区别???
分两部分理解这个命令
“a和yy,后者你知道,而”a表示选定a这一个寄存器,待会用”ap或者”aP就可以把它贴出来
类似的,轮换使用26个字母的话,就可以非常方便的实现多剪切板操作了
而Vy则完全是两个命令:V进入Visual Line模式,选定当前行;y在Visual/Visual Line模式下是复制选中区域。
噢噢..明白了..”b “c …枚举下去都可以的?????
哈哈.又学一招…谢谢大师阿….这样方便多了…
以前x|d|y 之后就得马上p 否则就没了….
我去试试…
呃..大师..我发现怎么复制都是两行????好像把光标所在和上一行 都给复制了????用V一下 好像就可以了??
yy是复制一行的意思
你要复制多行就2yy, 100yy这和dd是一个道理
结合上”指定寄存器就是
“a2yy
“b3yy
不应该出现“怎么复制都是两行”,“把光标所在和上一行”的情况
哈哈..好..我再试试…
还有..大师..想请求一下列编辑的用法….
谢谢啦…
囧
我不是什么大师…
vim的技巧也是在不断的学
列编辑首先要确保你能进入Visual Block模式
在Windows下默认进入Visual Block的按键是Ctrl+Q,而Linux是Ctrl+V
hello world
it is hello world message
把光标移动到第一行的w上,按下Ctrl+V/Q进入Visual Block模式
按j移动到下一行,可以看到第一行的w和第二行的h被选中
这时候按I并输入”abc “并按两次Esc退出,可以看到
hello abc world
it is abc hello world message
如果你用A替代I来执行上述操作,则结果应该是
hello wabc orld
it is habc ello world message
仍然是I和A原本的意思,即从前插入和从后插入
此外你还可以尝试使用x,d
呃呃..总被列编辑搞晕..哈哈
最爱VIM…