Linux中的 `vi` 与 `vim` 使用详解

文章目录

  • [Linux中的 `vi` 与 `vim` 使用详解](#Linux中的 vivim 使用详解)
    • [1. `vi` 编辑器](#1. vi 编辑器)
      • [1.1 什么是 `vi`](#1.1 什么是 vi)
      • [1.2 `vi` 的基本用法](#1.2 vi 的基本用法)
        • [1.2.1 启动 `vi`](#1.2.1 启动 vi)
        • [1.2.2 模式](#1.2.2 模式)
        • [1.2.3 基本操作](#1.2.3 基本操作)
        • [1.2.4 常用命令](#1.2.4 常用命令)
      • [1.3 `vi` 的特点](#1.3 vi 的特点)
    • [2. `vim` 编辑器](#2. vim 编辑器)
      • [2.1 什么是 `vim`](#2.1 什么是 vim)
      • [2.2 `vim` 的基本用法](#2.2 vim 的基本用法)
        • [2.2.1 启动 `vim`](#2.2.1 启动 vim)
        • [2.2.2 模式](#2.2.2 模式)
        • [2.2.3 `vim` 的增强功能](#2.2.3 vim 的增强功能)
        • [2.2.4 `vim` 的基本操作](#2.2.4 vim 的基本操作)
      • [2.3 安装插件](#2.3 安装插件)
    • [3. `vi` 与 `vim` 的区别](#3. vivim 的区别)
    • 总结


Linux中的 vivim 使用详解

在Linux中,vivim 都是非常流行的文本编辑器,尤其在系统管理、程序开发和配置文件编辑中被广泛使用。vimvi 的增强版本,具有更多功能。下面详细讲解它们各自的特点、使用方式以及二者之间的区别。

1. vi 编辑器

1.1 什么是 vi

vi 是一种经典的文本编辑器,最早在Unix系统中出现,几乎在所有类Unix系统中都有预装。vi 是一个简单、轻量的编辑器,非常适合在命令行环境中进行快速编辑。由于其普及性和无处不在的特性,vi 已成为Linux/Unix用户的基本工具。

1.2 vi 的基本用法

1.2.1 启动 vi

在终端中输入以下命令即可打开一个文件:

bash 复制代码
vi filename
  • 如果文件 filename 存在,vi 将打开它进行编辑。
  • 如果文件不存在,vi 将创建一个新文件并打开。
1.2.2 模式

vi 编辑器有三种基本模式:

  1. 普通模式(Normal mode) :这是 vi 的默认模式,用于浏览和操作文本。启动 vi 后首先进入此模式。在普通模式下可以进行复制、粘贴、删除、移动光标等操作。按 Esc 键可以随时返回普通模式。
  2. 插入模式(Insert mode) :用于编辑文本。在普通模式下按 i 进入插入模式。插入模式下可以输入文本,按 Esc 返回普通模式。
  3. 命令模式(Command mode) :用于执行保存、退出、查找、替换等命令。在普通模式下按 : 进入命令模式。
1.2.3 基本操作
  • 插入模式 :在普通模式下按 i 开始插入文本。
  • 保存文件 :在普通模式下按 : 进入命令模式,然后输入 w 保存文件。
  • 退出编辑器 :在普通模式下按 : 进入命令模式,然后输入 q 退出。若文件有修改但未保存,可以使用 :q! 强制退出。
  • 保存并退出:wq:x
1.2.4 常用命令
  • 移动光标
    • h 左移,j 下移,k 上移,l 右移。
    • w 向前移动一个单词,b 向后移动一个单词。
  • 删除文本
    • x 删除光标处的字符。
    • dd 删除整行。
  • 复制和粘贴
    • yy 复制当前行。
    • p 在光标后粘贴。
  • 撤销操作u 撤销上一步操作。

1.3 vi 的特点

  • 轻量级,速度快,适合在资源有限的环境中使用。
  • 无需鼠标,只需使用键盘操作,适合在终端和远程SSH环境下使用。
  • 所有Unix和Linux系统中几乎都默认安装。

2. vim 编辑器

2.1 什么是 vim

vim 是 "Vi IMproved" 的缩写,即 vi 编辑器的增强版本。vimvi 的基础上增加了许多功能,如语法高亮、代码折叠、多文件编辑、插件支持等,使其更适合编程和复杂文本处理。vim 也是在大多数Linux发行版中默认预装的编辑器之一。

2.2 vim 的基本用法

2.2.1 启动 vim

vi 类似,在终端中输入以下命令打开文件:

bash 复制代码
vim filename

如果文件存在,vim 将打开文件进行编辑;如果文件不存在,vim 将创建新文件。

2.2.2 模式

vimvi 拥有相同的三种基本模式(普通模式、插入模式、命令模式),但 vim 的每种模式都有更多的功能和更好的体验。例如,vim 提供了可视模式,用于高效选择文本块。

2.2.3 vim 的增强功能
  • 语法高亮vim 可以根据文件类型自动进行语法高亮,方便程序开发者编写和调试代码。
  • 多文件编辑 :可以在同一窗口中打开多个文件,使用 :e filename 打开文件,使用 :n:prev 在文件间切换。
  • 分屏 :使用 :split:vsplit 进行水平或垂直分屏,方便同时查看和编辑多个文件。
  • 代码折叠:支持折叠代码块,以减少视觉干扰,专注于当前的编辑区域。
  • 撤销树 :相比 vi 仅支持一步撤销,vim 允许多步撤销,并且可以管理一个撤销树,进行更复杂的撤销和重做操作。
  • 插件系统vim 拥有强大的插件系统,可以安装各种插件来增强功能,比如代码自动补全、文件树、语法检查等。常用的插件管理器包括 vim-plugVundle 等。
2.2.4 vim 的基本操作

vim 继承了 vi 的所有命令,并进行了扩展。例如:

  • 可视模式 :按 v 进入可视模式,可以选择文本块,再进行复制、删除等操作。

  • 替换:s/old/new/ 替换当前行第一个匹配的字符串,:%s/old/new/g 替换整个文件中的所有匹配字符串。

  • 搜索 :按 / 输入要查找的内容,按 n 查找下一个匹配项,N 查找上一个匹配项。

  • 配置 :通过 ~/.vimrc 文件自定义配置,设置缩进、显示行号、语法高亮等。例如:

    vim 复制代码
    set number      " 显示行号
    syntax on       " 启用语法高亮
    set tabstop=4   " 设置tab宽度为4

2.3 安装插件

vim 可以通过插件扩展功能,下面介绍简单的插件管理方式:

  • vim-plug :一个流行的插件管理器,易于使用,安装新插件非常方便。安装 vim-plug 后,在 ~/.vimrc 中配置插件列表,然后执行 :PlugInstall 即可安装所有插件。

3. vivim 的区别

功能 vi vim
语法高亮 不支持 支持多种编程语言语法高亮
撤销操作 只支持单步撤销 支持多步撤销
多文件编辑 支持,但功能有限 完善的多文件编辑功能
插件支持 不支持 支持,可扩展性强
配置文件 少量配置 丰富的配置项,.vimrc 文件
可视模式 不支持 支持选择文本块
分屏功能 基本支持 支持水平和垂直分屏

总结

  • vi 是一个简单、轻量的文本编辑器,在所有Unix和Linux系统中几乎都有预装。适合基本的文本编辑和在资源有限的环境中使用。
  • vimvi 的增强版,具有丰富的功能,如语法高亮、插件支持、多文件编辑、分屏等,适合程序开发和复杂文本处理。对于Linux用户,尤其是程序员来说,vim 是一个功能强大的工具。

相关推荐
木子Linux27 分钟前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.82432 分钟前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
鹏大师运维34 分钟前
聊聊开源的虚拟化平台--PVE
linux·开源·虚拟化·虚拟机·pve·存储·nfs
watermelonoops41 分钟前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
滴水之功2 小时前
VMware OpenWrt怎么桥接模式联网
linux·openwrt
ldinvicible2 小时前
How to run Flutter on an Embedded Device
linux
YRr YRr3 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
认真学习的小雅兰.3 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥3 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
不想起昵称9293 小时前
Linux SHELL脚本中的变量与运算
linux