VIM基本命令
2017-02-11 本文已影响0人
微风玉米
简介
vim是一个功能强大、高度可定制的文本编辑器
插入命令
- i 在当前位置前插入
- I 在当前位置行首插入
- a 在当前位置后插入
- A 在当前位置行尾插入
- o 在当前行之后插入一行
- O 在当前行之前插入一行
移动命令
- h,l,k,j 分别代表左移,右移,上移,下移一个字符,还可配合数字使用,10j 代表下移十行
- w,b 移动到下一个单词第一字符和上一个单词第一字符
- e,ge 移动到下一个单词最后字符和上一个单词最后一个字符
- 0,^ 移动到本行的第一个字符和第一个非空白字符上
- $,<end> 移动到行尾
- gg,G 移动到文件开头和文件末尾
- fx 用于找到本行内下一个为x 的字符
- F 同f 用于反向查找
- {,} 移动到上一个段首和下一个段首
- [[,]] 移动到上一个函数头和移动到下一个函数尾
- :200,200G 跳到200行
- 10| 跳到第十列
- Ctrl + u 向上滚动半屏
- Ctrl + d 向下滚动半屏
- Ctrl + b 向上滚动一屏
- Ctrl + f 向下滚动一屏
删除,复制,粘贴
- 在可视模式下
- 文本选择
- v 文本选择,从光标当前位置开始,光标所经过的会被选中,按v结束
- V 文本选择,光标所经过的行都会被选中,按V结束
- Ctrl + v 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,按 Ctrl + v 结束
- ggVG 选中全部文本
- 使用编辑命令进行编辑
- y 复制
- p 粘贴
- d 剪切
- "+y 复制到系统剪贴板
- "+p 从系统剪贴板粘贴
- 在命令模式下
- 删除
- x 删除当前字符(可加数字,例如3x)
- X 删除当前字符的前一个字符
- J 删除换行符
- 剪切
- dd 剪切当前行
- dj 剪切上一行
- dk 剪切下一行
- D 剪切当前字符到行尾
- :,10d 剪切1到10 行
- :11,$d 剪切11行及其以后的所有行
- 复制
- yy 复制当前行
- nyy 复制当前行开始的n 行
- y$ 将当前字符到行尾复制起来
- 粘贴
- p 在在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
- P 在当前行进行粘贴
- :1, 10 co 20 将1-10行插入到第20行之后
搜索
- /word 从开头到结尾搜索单词word,按n 查找下一个
- ?word 从结尾到到开头搜索单词word,按N 查找下一个
- ,# 搜索光标下单词,从开头开始,#从结尾开始
- /\cstring 搜索string 或 STRING,大小写不敏感
- /jo[ha]n 搜索john 或 joan
- /<the 搜索以the 开头的,如the,theory等
- /the> 搜索以the 结尾的,如the,breathe等
- /<the> 搜索the
- // 搜索 /
- /for|and 搜索for 或者and
- /<\d\d\d\d> 搜索仅有四个数字
- /^\n{3} 搜索连续三个空行
注意:vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
替换
- ra 将当前字符替换为a
- :s/old/new 将old替换为new,替换当前行的第一个匹配
- :s/old/new/g 将old替换为new,替换当前行的所有匹配
- :%s/old/new 将old替换为new,替换所有行的第一个匹配
- :%s/old/new/g 将old替换为new,替换所有行的所有匹配
- :10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进
大小写
- Vu 整行小写
- VU 整行大写
- g~~ 大小写反转