参考链接 http://www.runoob.com/linux/linux-vim.html
1 vi/vim共分三种模式,分别是命令模式,输入模式和底线命令模式。
2 命令模式下的常用命令
- " i " 切换到输入模式,以输入字符
- " x " 删除当前光标所在处的字符
- " h " 或向左箭头键,光标向左移动一个字符
- " j " 或向下箭头键,光标向下移动一个字符
- " k " 或向上箭头键,光标向上移动一个字符
- " l " 或向右箭头键,光标向右移动一个字符
注:hjkl或箭头键可以跟数字组合,如向下移动30行,可以使用" 30j "或"30向下箭头键"。
- [Ctrl] + f 屏幕向下移动一页,相当于下一页键
- [Ctrl] + b 屏幕向上移动一页,相当于上一页键
- [Ctrl] + d 屏幕向下移动半页
- [Ctrl] + u 屏幕向上移动半页
- + 光标移动到非空格符的下一行
- - 光标移动到非空格符的上一行
- 0 或功能键[Home] 将光标移动到这一行的最前面
- n<space> n表示数字,按下数字后再按空格键,光标会向右移动到这行的n个字符,如20<space>
- $ 或功能键[End] 将光标移动到这一行的最后面
- H 光标移动到屏幕最上方那一行的第一个字符
- M 光标移动到屏幕中央那一行的第一个字符
- L 光标移动到屏幕最下方那一行的第一个字符
- G 光标移动到最后一行
- nG n表示数字,移动到第n行,如20G移动到第20行
- gg 光标移动到第一行
- n<Enter> n表示数字,光标向下移动n行
- /word 从光标开始向下搜索一个名称为word的字符串
- ?word 从光标开始向上搜索一个名称为word的字符串
- :n1,n2s/word1/word2/g n1和n2是数字,在第n1行到第n2行之间寻找word1字符串,并将他们替换为word2,如在第100行到200行间搜寻vbird并替换为VBIRD,则 " :100,200s/vbird/VBIRD/g"
- :1,$s/word1/word2/g 从第1行到最后一行之间寻找word1字符串,并将他们替换为word2
- :1,$s/word1/word2/gc 从第1行到最后一行之间寻找word1字符串,并将他们替换为word2,并提示是否确认
- x 向后删除一个字符
- nx n为数字,连续向后删除n个字符,如10x表示向后连续删除10个字符
- dd 删除光标所在一整行
- ndd n为数字,删除光标所在向下n行,如10dd表示向下删除10行
- d1G 删除光标所在到第一行的所有数据
- dG 删除光标所在到最后一行的所有数据
- d$ 删除光标所在到该行最后一个字符
- yy 复制光标所在的那一行
- nyy n为数字,复制光标所在的向下n行,例如20yy则是复制向下20行
- y1G 复制光标所在到第一行的所有数据
- yG 复制光标所在到最后一行的所有数据
- y0 复制光标所在的那个字符到该行行首的所有数据
- y$ 复制光标所在的那个字符到该行行尾的所有数据
- p 或P p是将复制的数据粘贴在光标的下一行,P是将复制的数据粘贴在光标的上一行
- J 将光标所在行与下一行结合为一行
- c 重复删除多个数据,如向下删除10行,用 10cj
- u 撤销上一个动作
- [Ctril] + r 重做上一个动作
- i 或 I 进入输入模式,i 为从光标所在处开始输入,I 为光标所在行的第一个非空格符处开始输入
- a 或 A 进入输入模式,a 为从光标所在的下一个字符处开始输入,A 为光标所在行的最后一个字符处开始输入
- o 或 O 进入输入模式,o 为从光标所在的下一行处输入新的一行,O 为光标所在的上一行处开始输入新一行
- ZZ 如果文件内容没有改动,不储存离开,如果有改动则储存后离开
- :w [filename] 另存为一个filename文档
- :r [filename] 读入另一个文档内容,到光标所在的后面
- :n1,n2 w [filename] 将第n1行到第n2行的内容储存到filename文档中
- :set nu 显示行号
- :set nonu 不显示行号