Linux Vim 由浅入深的教程

引言

原文链接

Vim是Linux系统中非常强大的文本编辑器,因其强大的功能和灵活的操作而受到广泛使用。尤其是在服务器管理和开发环境中,Vim几乎是必备工具。本教程将以CentOS 7为例,详细讲解Vim的安装、基本操作以及一些高级技巧,帮助读者从零开始掌握Vim的使用。

安装Vim

在linux系统当中,可能会默认安装Vim的简化版本(vim-minimal),为了获得完整功能,我们需要安装完整版本的Vim。

检查Vim版本

首先,检查系统中Vim的版本:

bash 复制代码
vim --version

如果输出中包含"vim-minimal",说明是简化版,我们需要安装完整版本。

安装Vim

使用yum包管理器安装Vim:

bash 复制代码
sudo yum install vim -y

安装完成后,再次检查版本,确认安装成功。

Vim的基本操作

启动Vim

在终端中输入vim,回车即可启动Vim。你也可以直接打开一个文件:

bash 复制代码
vim filename

基本模式

Vim主要有三种模式:命令模式、插入模式和底线命令模式。

  • 命令模式:启动Vim时默认进入的模式,可以执行各种命令。
  • 插入模式 :按i进入,可以进行文本编辑。
  • 底线命令模式 :按:进入,可以执行文件操作命令。

基本命令

  • 编辑模式 :在命令模式下按i进入插入模式,可以开始输入文本。
  • 保存并退出 :在命令模式下,输入:wq:x保存并退出,输入:q!不保存退出。
  • 退出插入模式 :按Esc返回命令模式。

Vim的高级操作

多行编辑

多行编辑是Vim的一大优势,可以极大提高编辑效率。

  • 复制多行 :在命令模式下,输入3yy复制当前行及其下两行。
  • 粘贴多行 :在命令模式下,移动光标到目标位置,输入p粘贴。
  • 删除多行 :在命令模式下,输入3dd删除当前行及其下两行。
  • 编辑多行 :在命令模式下,输入Ctrl-v,再按上下左右的方向键,按del键可以实现多行多内容删除,按Shift-i(大写I),就可以进入多行编辑的默认,例如实现多行注释以及取消注释的实际案例。

查找与替换

Vim提供了强大的查找与替换功能。

  • 查找 :在命令模式下,输入/keyword查找关键字,按n查找下一个,N查找上一个。
  • 替换 :在命令模式下,输入:%s/old/new/g将全文中的old替换为new。如果只替换当前行中的内容,输入:s/old/new/g

其他实用技巧

  • 撤销和重做 :按u撤销上一步操作,按Ctrl-r重做。
  • 行首和行尾 :按0移动到行首,按$移动到行尾。
  • 跳转到指定行 :输入行号G跳转到指定行,如10G跳转到第10行。

配置Vim

Vim的配置文件是.vimrc,可以在用户主目录下创建和编辑这个文件,以定制自己的Vim环境。

示例配置

以下是一个简单的.vimrc示例:

vim 复制代码
syntax on            # 开启语法高亮
set number           # 显示行号
set tabstop=4        # 设置tab键为4个空格
set shiftwidth=4     # 设置自动缩进为4个空格
set expandtab        # 将tab转换为空格
set autoindent       # 自动缩进
set clipboard=unnamedplus # 启用系统剪贴板

将这些内容添加到~/.vimrc文件中并保存,即可启用这些配置。

结论

通过本教程,我们了解了在CentOS 7中安装和使用Vim的基本和高级操作。从文本编辑到配置文件定制,Vim的强大功能让其成为Linux用户不可或缺的工具。掌握这些技巧后,读者可以更高效地进行文本编辑和文件管理,提高工作效率。

相关推荐
面朝大海,春不暖,花不开8 分钟前
管理数据洪流:自动化处理与归档每日数据文件的策略与实践
运维·python·自动化
地衣君7 小时前
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
linux·ubuntu·risc-v
5:007 小时前
云备份项目
linux·开发语言·c++
码农101号8 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
powerfulzyh8 小时前
非Root用户启动SSH服务经验小结
运维·ssh
云道轩8 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗8 小时前
传输层:udp与tcp协议
linux·服务器·网络
爱学习的小道长8 小时前
Ubuntu Cursor升级成v1.0
linux·运维·ubuntu
EelBarb8 小时前
seafile:ubuntu搭建社区版seafile12.0
linux·运维·ubuntu
Xam_d_LM8 小时前
【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
linux·ubuntu·科研·矢量图·drawio