七、vim高级文本编辑器

发布时间 2023-12-05 20:17:40作者: Ju生淮北
  • vim是vi的增强版,由vim-enhanced软件包提供。vim具有vi不具备的特性eg:命令语法的高亮

    vim是一个默认的文本编辑器来进行使用,在众多的Linux发行版中均被内置,成为Linux主流的文本编辑器。

  • gvim:vim的图形化版本

    提供在vim-x11包里、

1、vim的工作模式
  1. 命令模式:打开文件进入命令模式,执行命令(文本复制,粘贴,删除等)

  2. 编辑模式(插入模式):编辑文本内容

  3. 退出模式(末行模式):对文件本身进行操作(保存,退出,搜索,替换等)

  • 模式切换:

    • a/A:光标右边插入内容 / 光标所在行的末尾插入内容

    • i/I:光标左边插入内容 / 光标所在行的开头插入内容

    • o/O:光标下一行插入内容 / 光标上一行插入内容

    • Esc:插入模式回退命令模式

    • :进入退出模式

 

  • 运行vim

    • vim filename

    • 如果文件存在则该文件被打开并显示内容

    • 如果文件不存在,则vim在第一次编辑并保存时创建该文件

    • 如果打开文件提示存在副本,则检查vim上次打开该文件是否异常关闭

      vim存在副本怎么修复?

      • vim -r 文件名:此方法不会自动移除副本,但是可以修复文件,需要手动删除副本

      • vim 文件名:打开文件以后,当其提示副本存在时,按R修复文件,按D自动移除副本

  • 命令模式

    • 光标方向移动

    • 翻页

      • Page Down 或 Ctrl + F:向下翻动一整页内容

      • Page Up 或 Ctrl + B:向上翻动一整页内容

    • 行内快速跳转

      • Home键或” ^ “、数字” 0 “:跳转至行首

      • End键或” $ “ 键:跳转至行尾

    • 行间快速跳转

      • 1G或者gg:跳转到文件的首行

      • G:跳转到文件的末尾行

      • #G:跳转到文件中的第#行

    • 行号显示

      • :set nu:在编辑器中显示行号

      • :set nonu:取消编辑器中的行号显示

    • 删除

      • x或Del:删除光标处的单个字符

      • dd:剪切当前光标所在行

      • Ndd:剪切前光标所在行以及下面N-1行

      • cc:替换改行,并进入插入模式

      • d^:删除当前光标之前到行首的所有字符

      • d$:删除当前光标处到行尾的所有字符

      • dw:删除当前光标处到词尾的所有字符

    • 复制:Nyy:复制当前N行整行的内容到剪切板

    • 复制::Start,end copy dest 3,4 copy 6:将start到end行的内容复制到dest行以下

    • 移动::Start,end m dest :将start到end行的内容移动到dest行以下

    • 粘贴

      • P:将缓冲区中的内容粘贴到光标位置处之后

      • P:粘贴到光标位置处之前

    • 文件内容查找

      • /word:从上而下在文件中查找字符串 ”word“

      • ?word:从下而上在文件中查找字符串 ”word“

        • n:定位下一个匹配的被查找字符串

        • N:定位上一个匹配的被查找字符串

      • :nohlsearch :撤销高亮

    • 撤销

      • u:按一次取消最近一次操作多次重复按u键,恢复已进行的多步操作

      • U:撤销光标所在行的更改

      • Ctrl - r:取消最后一次 ”撤销“

      • .:重复操作

    • 保存退出

      • :1,5 w /tmp/file.txt :另存为

      • w:保存

      • q:退出

      • wq:保存并退出

      • q!:强制退出

      • wq!:强制保存退出

    • 查找替换

      • :s/root/redhat:将当前行中查找到的第一个字符 “root” 替换为 “redhat”

      • :s/root/redhat/g:将当前行中查找到的所有字符 “root” 替换为 “redhat”

      • :1,5 s/root/redhat/g:在行号 “1,5” 范围内替换所有字符 “root” 为 “redhat”

      • :% s/root/redhat/gi:在整个文件范围内替换所有字符 “root” 为 “redhat”(忽略大小写)

      • : s /root/redhat/c:在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

    • 可视化模式

      • 允许选择文本块

        • v:开始字符高亮选定

        • V:开始行高亮选定

        • Ctrl + v:列方向高亮选定

      • 高亮显示的文本能被删除、拷贝、替换、搜索/替换等

    • 多行注释

      • Ctrl + v ——> I ——> # ——> Esc

    • 多窗口模式

      • 在单个vim屏幕中多个文档能被查看

        • Ctrl + w再按s:横向分隔屏幕

        • Ctrl + w再按v:纵向分割屏幕

        • Ctrl + w,方向键:再窗口间中移动

      • :sp file 在同一个窗口打开其它文件