Vim使用技巧

1. Vim解决问题的方式

1. .命令

  1. x: 删除光标下的字符
  2. .: 重复上次修改
  3. u: 撤销上此次修改
  4. dd: 删除当前行
  5. >G: 增加本行至末尾行的行间距

2. 不要自我重复

  1. $移至行尾
  2. ^: 移至行头
  3. A: 切换到插入模式并到行尾,等于a$

3. 以退为进

  1. f字符: 移至下个匹配的字符,接着按;搜索下次出现的字符
  2. s=cl: 删除当前字符并进入插入模式

4. 执行、重复、回退

目的 操作 重复 回退
做出一个修改 {etid} . u
在行内查找下一指定字符 f{char}/t{char} ; ,
在行内查找上一指定字符 F{char}/T{char} ; ,
在文档中查找下一匹配项 /pattern n N
在文档中查找上一匹配项 ?pattern n N
执行替换 :s/target/replacement & u
执行一系列修改 qx{changes}q &x u

5. 查找并手动替换

  1. *: 移至要搜索的单词,按*,查找所以一样的单词,若没看到高亮,请:sethls了解
  2. cw: 删除光标位置到行尾的字符

6. 结识.范式

  1. 理想模式: 用一键移动,另一键执行

2. 普通模式

1. 停顿时请移开画笔

程序猿其实很少在代码,大多在思考

2. 把撤销单元切成块

每一个可撤销快对应一次修改过程,修改完一次代码,切换回普通模式

3. 构造可重复的修改

  1. daw: delete a word,

4. 用次数做简单的算术运算

  1. yyp复制当前行
  2. <ctrl+a>执行数字递增
  3. <ctrl+x>执行递减,光标不在数字时,会自动查找并操作下一个数字
  4. 默认0开头数字为八进制,改变此行为的方法set nrformats=

5. 能够重复,就别用次数

执行->重复->回退

6. 双剑合璧,天下无敌

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

3.插入模式

1.在插入模式中可即使更正错误

  1. <C+w>: 删除前一个单词
  2. <C-u>: 删除至行首

2. 返回普通模式

  1. <C-o>: 切换到插入-普通模式,执行完一次命令后,自动切换到插入模式
  2. zz: 光标所在行,放到屏幕中央

3. 不离开插入模式,粘贴寄存器中的文本

  1. yt,: 复制当前字符直到,
  2. <C-r>0: 把寄存器中第0次复制的取出来

4. 随时随地的做运算

  1. <C-R>=6*35<CR>: 会把结果插入到当前光标所在处

5. 用字符编码插入非常用字符

  1. <C-v>0xx: 假如a:065
  2. <C-v>u{xxxx}

5. 用二合字母插入非常用字符

查询二合字母表: h digraphs-default/:h digraph-table

6. 用替换模式已有文本

  1. R: 从普通->替换模式,替换和插入模式,只是一个会替换..一个会插入
  2. gR: 触发虚拟替换模式,假如制表符tabstop为8,那么前7个会当字符处理,第插入第8个字符时,该字符会替换制表符
  3. r{char},gr{char}: 支持覆盖一个字符,立马回到普通模式

4.可视模式

  1. 可视模式分为操作字符文本、行文本或块文本

1. 深入理解可视模式

  1. <C-g>: 可视模式<->选择模式

2. 选择高亮选区

  1. v: 激活面向字符的可视模式
  2. V: 激活面向行的可视模式
  3. : 激活面向列快的可视模式
  4. gv: 重选上次的高亮选区
  5. o: 切换高亮选区的活动端

3.重复执行面向行的可视命令

  1. :set shiftwidth=4 softtabstop=4 expandtab: 设置缩进为4

4. 只要可能,最好用操作符命令,而不是可视命令

  1. vit: 选中标签内容
  2. U:大写

5. 用面向列块的可视模式编辑表格数据

  1. C-v: 进入列选择模式
  2. yyp: 复制并粘贴本行

6. 修改列文本

  1. ESC: 能复制选择列中做的相应改变,

7. 在长短不一的高亮块后添加文本

5. 命令模式

3. 使用:t:m复制和移动行

  1. :6t.: 把当前行复制到当前行下方
  2. :t$: 把当前行复制到文本结尾
  3. ``
© 404mzk all right reserved,powered by Gitbook该文件修订时间: 2017-04-06 01:42:56

results matching ""

    No results matching ""