vi基本操作

vi分为三种模式: 

1. 命令模式

  进入编辑:
    AaIiOoSs进入编辑模式(记忆:啊ios),按ctrl+:进入末行模式
  光标移动:
    H前J下K上L后
    行首0 行尾$ 文件开始gg 文件末尾G
    行跳转ngg:比如500gg表示跳到500行处  (n表示数字,下面的类似)
  删除操作:
    删除光标前面字符nX,删除光标后面字符nx
    删除光标前面部分d0,删除光标后面部分d$或者D
    删除光标单词dw
    删除光标所在行dd,删除几行ndd(删除实际是剪切)
  其他:
    撤销u,反撤销ctrl+r
    %大括号之间切换
    文本缩进gg=G(或者 =G)
 
  剪切复制粘贴:
    剪切几行ndd
    复制几行nyy
    粘贴p(粘贴到光标下一行)或者P(粘贴到光标当前行)
    复制当前行接着粘贴操作yyp
  
  可视模式:
    按下v进入可视模式(可视模式没有赋值回车换行,p粘贴到光标后面,P粘贴到光标前面),进入可视模式后通过hjkl选择区域,复制y,删除d
 
  查找方法:
    1. /[搜索内容] 往下查找,下一个n,上一个N
    2. ?[搜索内容] 往上查找,下一个n,上一个N
    3. 光标放在要搜索的单词上,按下#
  缩进:
    >>向右缩进
    <<向左缩进
  
  man查看使用nK:
  比如要查看printf函数的使用:
    1. /printf搜索选定printf
    2. 因为printf在第三章,所以按下3K,就会跳到第三章的printf的函数说明处,按q退出
 
2. 编辑模式
  按下esc进入命令行模式,再按ctrl+:进入末行模式
  a光标后面,A行尾
  i光标前面,I行首
  o新建新建下一行,O新建光标上一行
  s删除光标后一个字符,S删除光标所在行

  ctrl+p 编辑状态下的补全提示  

3. 末行模式(:模式)
  替换:(g表示全部)
  s/[被替换字符串]/[目标字符串]/g替换当前行
  %s/[被替换字符串]/[目标字符串]/g替换全部
  10,20s/[被替换字符串]/[目标字符串]/g替换10-20行的范围
 
  执行一个操作:
    w保存,q退出,wq保存并退出,x保存并退出
    q!强制退出
    wq!强制保存并退出
  按下两次esc进入命令模式
  执行一个命令:
    查看执行过的命令history
    执行history里的命令:![命令]或者![序号],比如:!pwd
vi分屏
  :sp <filename> 上下分屏,按下两次ctrl+w切换,:q退出光标所在屏,:qall退出所有屏幕,其他操作类似
  :vsp <filename> 左右分屏,按下两次ctrl+w切换,:q退出光标所在屏,:qall退出所有屏幕,其他操作类似

 附:命令行输入vimtutor可查看系统自动的vim教程 

 
 
 
 
原文地址:https://www.cnblogs.com/yongfengnice/p/6783011.html