0

0

怎么在CentOS下装vi_CentOS安装vi编辑器及基本使用教程

看不見的法師

看不見的法師

发布时间:2025-08-29 10:29:01

|

679人浏览过

|

来源于php中文网

原创

答案是安装vim-enhanced包可解决CentOS中vi功能简陋问题。CentOS默认预装vim-minimal,仅提供基础编辑功能,需通过yum或dnf安装vim-enhanced以获得语法高亮、多级撤销、分屏等完整Vim功能。

怎么在centos下装vi_centos安装vi编辑器及基本使用教程

在CentOS系统下安装vi编辑器其实通常不是一个“安装”动作,因为绝大多数CentOS版本,包括其基础镜像,都会预装一个简化版的vi,通常是

vim-minimal
或者指向它的符号链接。如果你发现它功能过于基础,比如没有语法高亮,那么你真正需要的是安装功能更强大的
vim-enhanced
版本。这个过程非常直接,只需通过系统的包管理器(
yum
dnf
)执行一个简单的命令即可。

解决方案

如果你想在CentOS上确保拥有一个功能完整的vi(即Vim),或者你的系统确实缺失了,以下是具体的步骤:

  1. 检查当前vi版本: 在终端输入

    vi --version
    或者
    which vi
    。如果
    vi
    命令可用,通常会显示其版本信息,或者指出它是一个指向
    vim
    nvi
    的符号链接。如果提示
    command not found
    ,那确实需要安装。

  2. 安装或升级到Vim增强版: CentOS 7及更早版本,或者那些依然使用

    yum
    作为主要包管理器的系统:

    sudo yum install vim-enhanced

    CentOS 8及更新版本,或者那些切换到

    dnf
    的系统:

    sudo dnf install vim-enhanced

    执行命令后,系统会提示你确认安装,输入

    y
    并回车即可。这个包会替换掉可能存在的
    vim-minimal
    ,提供一个功能更丰富的Vim版本。

  3. 验证安装: 安装完成后,再次输入

    vi
    vim
    。你会发现编辑器启动时可能会显示Vim的版本信息,并且在编辑文件时,如Shell脚本或Python代码,会看到语法高亮。

CentOS系统为什么自带的vi用起来有些“简陋”?Vim和Vi究竟有什么区别?

这个问题问得很好,也是很多初学者甚至有经验的Linux用户会感到困惑的地方。我个人在刚接触Linux时,也曾被这个“简陋”的vi搞得一头雾水,总觉得是不是自己哪里没配置好。

其实,CentOS默认提供的

vi
,很多时候并不是我们常说的那个功能强大的
vim
(Vi IMproved)。它通常是一个指向
vim-minimal
或者更原始的
nvi
的符号链接。这个“简陋”版本的设计初衷是为了尽可能地小巧、快速,占用最少的系统资源,这对于服务器环境来说非常重要,尤其是在系统资源紧张或者需要进行紧急修复时。它能保证你在一个几乎“裸奔”的系统上也能进行最基本的文本编辑。

那么,

vi
vim
究竟有什么区别呢?简单来说,
vim
vi
的“升级版”或“增强版”,正如其名“Vi IMproved”。
vi
是上世纪70年代末期诞生的经典文本编辑器,它的核心理念是“模态编辑”,即有命令模式、插入模式等。这种模式切换在当时是非常高效的,但功能相对单一。

vim
在此基础上进行了巨大的扩展和改进:

  • 语法高亮: 这是最直观的区别,让代码和配置文件更易读。
  • 多级撤销/重做:
    vi
    通常只能撤销最后一次操作,
    vim
    则可以无限次撤销。
  • 可视模式(Visual Mode): 允许你像在图形界面编辑器中那样选中一块文本进行操作。
  • 分屏编辑: 可以在一个终端窗口中同时打开并编辑多个文件。
  • 宏录制与回放: 录制一系列按键操作并重复执行,极大地提高了重复性任务的效率。
  • 插件系统:
    vim
    拥有庞大的插件生态,可以扩展出无数功能,从代码补全到文件管理,无所不能。
  • 正则表达式增强: 搜索和替换功能更加强大。

所以,当你觉得

vi
用起来“简陋”时,其实你是在期待
vim
的功能。一旦安装了
vim-enhanced
,你会发现它完全是另一个世界。对于日常开发和管理工作,我几乎不会选择使用
vim-minimal
,因为
vim-enhanced
带来的效率提升是巨大的,那点额外的磁盘空间和内存占用完全值得。

安装Vim后,如何快速上手进行文件编辑和保存?

Vim的模态编辑是它最核心也最让人“望而生畏”的特性。初次接触,很多人会卡在“怎么输入文字”、“怎么保存退出”这些基本操作上。别急,我们一步步来。理解了这几个模式和基本命令,你就能在Vim的世界里迈出第一步了。

Vim主要有以下几个模式:

  1. 普通模式(Normal Mode/命令模式): 这是Vim启动时的默认模式。在这个模式下,你不能直接输入文本,而是通过各种按键来执行命令,比如移动光标、删除行、复制粘贴等。
  2. 插入模式(Insert Mode): 在普通模式下,按下特定的键(如
    i
    ,
    a
    ,
    o
    等)就可以进入插入模式。在这个模式下,你就可以像在普通文本编辑器里一样输入文字了。
  3. 末行模式(Command-line Mode): 在普通模式下,按下冒号
    :
    ,Vim会在屏幕底部显示一个命令行提示符,你可以在这里输入各种命令,比如保存、退出、查找、替换等。
  4. 可视模式(Visual Mode): 在普通模式下,按下
    v
    (字符)、
    v
    (行)或
    Ctrl+v
    (块),可以进入可视模式,用于选中文本。

快速上手编辑和保存:

  • 打开/创建文件: 在终端输入

    vim filename
    。如果
    filename
    存在,则打开;如果不存在,则创建一个新文件。

  • 进入插入模式(开始输入文字): 文件打开后,你处于普通模式。

    • 按下
      i
      :在当前光标位置插入。
    • 按下
      a
      :在当前光标位置插入。
    • 按下
      o
      :在当前行下方新建一行并插入。
    • 按下
      o
      :在当前行上方新建一行并插入。 选择其中一个,然后你就可以自由输入文字了。
  • 退出插入模式(回到普通模式): 无论何时,只要你想停止输入文字,执行命令,就按下键盘左上角的

    Esc
    键。你会发现光标可能会变粗,表示回到了普通模式。

  • 保存文件: 在普通模式下,按下

    :
    (进入末行模式),然后输入
    w
    (write),回车。

    :w

    这样就保存了文件,但不会退出Vim。

  • 保存并退出: 在普通模式下,按下

    :
    ,然后输入
    wq
    (write and quit),回车。

    :wq

    或者,你也可以在普通模式下直接按下

    ZZ
    (大写Z两次),这同样会保存并退出。

  • 不保存退出: 如果你做了修改但不想保存,想直接退出: 在普通模式下,按下

    :
    ,然后输入
    q!
    (quit forcefully),回车。

    :q!

    这个命令会强制退出,不保存任何修改。

  • 光标移动(在普通模式下):

    • h
      :左移
    • j
      :下移
    • k
      :上移
    • l
      :右移
    • w
      :跳到下一个单词开头
    • b
      :跳到上一个单词开头
    • 0
      :跳到行首
    • $
      :跳到行尾
    • gg
      :跳到文件开头
    • G
      :跳到文件结尾
    • 数字G
      :跳到指定行(例如
      10G
      跳到第10行)

Vim的哲学是“手不离键盘”,一旦你习惯了这些模式切换和命令,你会发现它的编辑效率是惊人的。刚开始可能会觉得有些反直觉,但坚持下去,你会发现它能让你沉浸在编辑中,效率远超鼠标点击。

Vim有哪些实用的高级功能或配置技巧能提升我的工作效率?

Vim的强大之处远不止基本的编辑和保存,它的可配置性和丰富的特性是提升工作效率的关键。一个精心配置的

.vimrc
文件,加上一些常用技巧,能让你的Vim变成一个高度定制化的开发环境。

1. 配置文件

.vimrc
:你的Vim个性化工作室

Vim的所有高级配置都集中在用户主目录下的

.vimrc
文件中。如果文件不存在,你可以自己创建一个。

Tago AI
Tago AI

AI生成带货视频,专为电商卖货而生

下载
touch ~/.vimrc
vim ~/.vimrc

一些我个人觉得非常实用的配置项:

  • 显示行号:

    set nu " 或者 set number

    这几乎是我打开任何Vim的第一件事,方便定位和参考。

  • 语法高亮:

    syntax on

    让代码和配置文件变得五彩斑斓,大大提升可读性。

  • 设置缩进:

    set tabstop=4    " 设置Tab键的宽度为4个空格
    set shiftwidth=4 " 自动缩进的宽度为4个空格
    set expandtab    " 将Tab键转换为空格

    统一代码风格,避免Tab和空格混用造成的混乱。

  • 自动缩进:

    set autoindent
    set smartindent

    当你敲回车时,新行会自动继承上一行的缩进,写代码时非常方便。

  • 搜索结果高亮:

    set hlsearch
    set incsearch

    hlsearch
    让所有匹配项高亮,
    incsearch
    则在输入搜索词时实时显示匹配。

  • 文件类型识别与插件:

    filetype plugin indent on

    这行配置非常重要,它让Vim能根据文件类型加载相应的插件和缩进规则,比如Python文件有Python的缩进,C++文件有C++的。

  • 光标行高亮:

    set cursorline

    高亮显示当前光标所在的行,方便阅读。

这些只是冰山一角,

.vimrc
可以非常复杂,但从这些基础开始,你就能感受到Vim的强大。

2. 实用高级功能

  • 分屏操作: 在一个Vim窗口中同时编辑多个文件,或者查看同一个文件的不同部分。

    • :
      sp
      :split
      :水平分屏,在新分屏中打开当前文件。
    • :
      vsp
      :vsplit
      :垂直分屏,在新分屏中打开当前文件。
    • Ctrl+w
      后跟
      h/j/k/l
      :在分屏间切换光标。
    • Ctrl+w
      后跟
      方向键
      :同样可以在分屏间切换。
    • Ctrl+w
      后跟
      q
      :关闭当前分屏。
  • 多文件缓冲区(Buffer)管理: 你可以同时打开多个文件,但只在当前窗口显示一个。

    • :
      e filename
      :打开一个新文件到新的缓冲区。
    • :
      ls
      :列出所有打开的缓冲区。
    • :
      b N
      :切换到编号为N的缓冲区。
    • :
      bnext
      /
      :bprev
      :切换到下一个/上一个缓冲区。
  • 宏(Macro)录制: 录制一系列按键操作,然后重复执行,对于重复性任务非常高效。

    • q
      后跟一个字母(例如
      qa
      ):开始录制宏到寄存器
      a
    • 执行你的操作序列。
    • 再次按下
      q
      :停止录制。
    • @a
      :回放寄存器
      a
      中的宏一次。
    • 数字@a
      :回放寄存器
      a
      中的宏指定次数(例如
      5@a
      回放5次)。
  • 查找与替换(加强版): Vim的查找替换支持强大的正则表达式。

    • :/pattern
      :查找
      pattern
    • :%s/old/new/g
      :全局替换所有行中所有
      old
      new
    • :%s/old/new/gc
      :全局替换,每次替换前询问确认。
    • :
      s/old/new/g
      :只替换当前行中所有
      old
      new

这些高级功能和配置技巧,一旦掌握,能极大地提升你在命令行下的文本编辑效率。Vim的学习曲线确实陡峭,但一旦你越过了那个初始的障碍,你会发现它带来的回报是巨大的。它不仅仅是一个编辑器,更像是一个可编程的文本处理平台,值得投入时间去探索和定制。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

258

2023.07.05

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

766

2023.07.05

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

219

2023.08.11

正则表达式空格
正则表达式空格

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

357

2023.08.31

Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

293

2023.11.13

正则表达式空格如何表示
正则表达式空格如何表示

正则表达式空格可以用“s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。想了解更多正则表达式空格怎么表示的内容,可以访问下面的文章。

245

2023.11.17

正则表达式中如何匹配数字
正则表达式中如何匹配数字

正则表达式中可以通过匹配单个数字、匹配多个数字、匹配固定长度的数字、匹配整数和小数、匹配负数和匹配科学计数法表示的数字的方法匹配数字。更多关于正则表达式的相关知识详情请看本专题下面的文章。php中文网欢迎大家前来学习。

547

2023.12.06

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号