一、三种模式

  • vi:Visual Editor 可视化编辑器
    • 命令模式( Command Mode
    • 插入模式(Insert Mode
    • 底线模式(Last Line Mode

二、命令模式

1、进入插入模式

  • i:光标不移动,进入插入模式
  • SHIFT+i:光标移动到行首,进入插入模式
  • a:光标向后移动一格,进入插入模式
  • SHIFT+a:光标移动到行尾,向后移动一格,进入插入模式
  • o:向下新建一行,进入插入模式
  • SHIFT+o:向上新建一行,进入插入模式
  • 注:
    • i:insert 插入
    • a:append 追加
    • o:open 打开
    • 插入模式打字,是在 光标前 插入文字,光标不动

2、剪切

  • x:剪切光标处的字符

  • SHIFT+x:剪切光标前的字符

  • 数字x:剪切从光标开始往后指定个数字符

  • 数字SHIFT+x:剪切光标前指定个数字符

  • dd:剪切整行

  • 数字dd:剪切从光标所在行开始往下指定个数行

  • dgg:向上全部剪切(包括本行)

  • dG:向下全部剪切(包括本行)

  • d+HOME:从光标前剪切到行首

  • d+END:从光标开始剪切到行尾

  • 注:

    • d:delete 删除
    • g:goto 跳转

3、复制

  • yy:复制整行
  • 数字yy:复制从光标所在行开始往下指定个数行
  • 注:
    • y:yank 猛拉(继承自 ex 编辑器)

4、粘贴

  • p:光标后粘贴文本,或向下粘贴整行
  • SHIFT+P:光标前粘贴文本,或向上粘贴整行
  • 注:
    • p:put 放置(继承自 ex 编辑器)

5、撤销、重做

  • u:撤销
  • CTRL+u:清空整行命令
  • CTRL+r:重做
  • 注:
    • undo:撤销
    • redo:重做

6、跳转

  • gg:光标跳转到第一行首字符

  • SHIFT+g:光标跳转到最后一行首字符

  • 注:

    • g:goto 跳转

7、替换

  • r字符:替换光标处字符为指定字符

  • 注:

    • r:replace 替换

8、搜索

  • /字符串:光标移动到指定字符串首字符

    • n:向下搜索
    • SHIFT+n:向上搜索
  • 搜索设置(底线模式)

    • :set hlsearch:设置高亮搜索
    • :noh:取消高亮
    • :set ignorecase:设置忽略大小写
    • :set noignorecase:设置取消忽略大小写
  • 注:

    • n:next 下一个
    • hlsearch:high-light search 高亮搜索(如果是纯命令行 vi,可能不支持)
    • noh:no high-light 取消高亮

三、底线模式

ESC 进入底线模式,底线模式命令都带 :

1、保存、退出

  • :w:保存
  • :w!:强制保存
  • :w 文件名:另存为
  • :q:退出
  • :q!:强制退出
  • :wq!:强制保存退出(不能写成 :w!q!,会被误认为另存为)
  • :!命令:执行命令(如 :!pwd:!ls -l
  • 注:
    • ESC:escape 退出
    • w:write 写入
    • q:quti 退出

2、行号

  • :set nu:设置行号
  • :set nonu:取消行号
  • 注:
    • nu:number 数字
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐