Vim命令操作大全

很多发行版Linux中,直接把vi做成vim的软链接,so ,你输vi与vim基本一样。vi=Visual interface,vim=vi improved 即vi升级版,支持代码补全,编译,错误跳转等方法。

基本操作

  • 打开或新建文件 $ vi 文件名
  • 开始编辑 按下i即可
  • 退出编辑 按下esc,然后:wq保存退出文件
  • 进入末行模式 :
  • 保存 w
  • 退出 q
  • 强行 !
  • 保存退出 x 效果等同于 wq

常用命令

1.移动光标
方向移动
  • h向左 j向下 k向上 l向右(键盘上hjkl是连着的)
行内移动
  • w向后移动一个单词的距离,b向前移动一个单词的距离
  • 0 快速回到行首
  • ^ 快速回到非空格行首
  • $ 快速回到行尾
行内移动
  • gg 文件顶部
  • G 文件末尾
  • 数字gg 移动到数字对应行数
  • 数字G 移动到数字对应行数
  • :数字 移动到数字对应行数(即末行模式输入数字后回车)
屏幕移动
  • Ctrl+b 向上翻页
  • Ctrl+f 向下翻页
  • H 屏幕顶部
  • M 屏幕中间
  • L 屏幕底部
段落移动
  • { 上一段 }下一段
  • % 在{} [] 等之间前后切换
标记
  • mx 对当前行打标记,标记为x,x可以为a-z A-Z
  • ‘x 回到x标记,同理可以为其他标记
选中文本
  • v 可视模式 即选中当前标开始到光标移动位置
  • V 可视行模式 即光标当前行到光标移动行
  • Ctrl+v 可视块模式 当前位置到光标移动位置,不同行加上所有行相应位置
撤销和恢复撤销
  • u 撤销上次命令
  • **Ctrl+r 恢复撤销的命令 **
删除文本
  • x 剪切光标所在字符,或者选中文字
  • d 删除移动命令对应的内容
  • dd 删除光标所在行,可以ndd删除多行
  • D 删除至行尾
复制粘贴
  • y复制
  • yy复制一行
  • p粘贴
替换命令
  • r 替换命令
  • R 替换模式
缩排和重复执行(可以结合选中文本使用v V ctrl+v等)
  • >> 向右增加缩进
  • << 向左减少缩进
  • . 重复上次执行
查找命令
  • **/查找内容 **
  • n 向下查
  • N 向上查找
  • * 向下查找光标单词
  • # 向上查找光标单词
查找并替换
  • %s/原文本/替换文本/g 全局替换固定格式 例~ :%s/hello/haha/g 该命令表示把所有hello替换成haha
  • s/原文本/替换文本/g 局部替换,需结合选中文本使用
  • %s/原文本/替换文本/gc (y/n/a/q/l/^E/^Y == 替换/不替换/全替换/退出替换/最后一个/下滚屏/上滚屏)
插入命令
  • i 光标前插入并开始插入模式
  • I 行首插入并开始插入模式
  • a 光标后插入并开始插入模式
  • A 行尾插入并开始插入模式
  • o 下一行插入空行并开始插入模式
  • O 上一行插入空行并开始插入模式
其他末行命令
  • :e . 浏览当前文件夹下文件,
  • :n . 新建文件
  • :w . 另存为

其他操作

  • 打开文件,直接定位到文件末尾 $ vi 文件名 +
  • 打开文件,直接定位到某一行 $ vi 文件名 +行号例$ vi demo +3
  • 编辑命令与数字连用,输入10 ,按i进入插入模式,输入* 按Esc回到命令模式,会出现10个*
  • 可视块与I连用,Ctrl+v进入可视块,选中对应行,然后I进入插入,插入想要信息AA,ESC退出,所有行前统一出现AA

若未提交更改,比如中途死机,可以根据vi界面提示,R恢复,D删除临时文件等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。