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
文件中。如果文件不存在,你可以自己创建一个。

花生AI
花生AI

B站推出的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的学习曲线确实陡峭,但一旦你越过了那个初始的障碍,你会发现它带来的回报是巨大的。它不仅仅是一个编辑器,更像是一个可编程的文本处理平台,值得投入时间去探索和定制。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

760

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

639

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

762

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1265

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

549

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

709

2023.08.11

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

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

精品课程

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

共28课时 | 4.5万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

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

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