国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > Vim常用技巧总结2

Vim常用技巧总结2

来源:程序员人生   发布时间:2014-09-01 07:33:27 阅读次数:2939次

我的主力博客:半亩方塘

1、 在光标所在行查找字符在普通模式下用 f{char} 命令,光标会移动到该字符所在的位置,向下重复查找在普通模式下用 ;,向上回退查找用 ,

2、 在光标所在行查找与替换在普通模式下用 :s/target/replacement ,其中 target 和 replacement 分别用被替换的字符或字符串和替换的字符或字符串代替,重复在普通模式下用 & 命令,回退在普通模式下用 u

手动控制每一次替换在普通模式下用 :%s/target/replacement/gc ,这样的话 Vim 会在每一次出现替换的地方询问是否替换,有以下几种选项:
y: 替换此处匹配
n: 忽略此处匹配
a: "all" ―― 替换此处与之后所有的匹配
l: "last" ―― 替换此处匹配后退出
q: 退出替换过程
<C-e>: 向上滚动屏幕 
<C-y>: 向下滚动屏幕

3、 查找当前光标下的单词在普通模式下用 *

4、 一键移动,另一键修改 ―― . 范式

5、 写代码思维停顿时请回到 普通模式,把思维单元切成 ,这样方便犯了错误在普通模式下按 u 回退操作的时候能接上之前的思路接着修改,在适当的时候,换行操作采用 <Esc>o,这样会使撤销时有更小的粒度,有利于编码操作

6、 在普通模式下按 db,反向删除从光标起始位置到单词开头的内容,但会原封未动地留下最后一个字符

7、 在普通模式下按 b,会将光标移动到单词的开头

8、 在普通模式下按 daw,即 "delete a word",删除一个单词

9、 在普通模式下 <C-a> 和 <C-x> 分别对数字执行加和减操作,在不带次数执行时,它们会逐个加减,但如果带一个次数前缀,那么就可以用它们加减任意整数,例如我们把光标移动到数字 5 上,执行 10<C-a> 就会把它变成 15,如果光标不在数字上,那么 <C-a> 和 <C-x> 会在当前行正向查找一个数字,如果找到了,它就径直跳到那里

10、 在普通模式下按 yyp 会复制当前行并粘贴到下一行

11、 在普通模式下加上次数表示重复,例如 2dw 或 d2w 都表示要删除两个单词,2u 表示回退两步等等,但是最好只在必要时使用次数

12、 在普通模式下按 dl 删除当前光标下的单词,但不进入插入模式,按 dap 删除整个段落

13、 在 Vim 中,操作符 + 动作命令 = 操作,当一个操作符被连续调用两次时,它会作用于当前行,例如: dd删除当前行,>> 缩进当前行,但是 gU 命令是一个特殊情况,既可以用 gUgU,也可以用简化版本的 gUU 来使它作用于当前行,常用的操作符命令如下:

c: 修改
d: 删除
y: 复制到寄存器
g~: 反转大小写
gu: 转换为小写
gU: 转换为大写
>: 增加缩进
<: 减小缩进
=: 自动缩进
!: 使用外部程序过滤{motion}所跨越的行


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生