当前位置: 首页 > news >正文

Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)

前言

在 Linux 的世界中,Vim 是一款被无数开发者喜爱和追捧的强大文本编辑器。如果你厌倦了鼠标点来点去,不妨试试 Vim —— 一款专注于高效键盘操作的“终极利器”。本文将带你全面了解 Vim 的基本概念、模式切换、常用命令、窗口管理,并附上图示和插件推荐,助你从入门走向高效开发之路。


一、什么是 Vim?

Vim(Vi IMproved)是 Vi 编辑器的增强版本,是 Linux/Unix 下最常见的文本编辑器之一,具有如下特点:

  • 支持多模式编辑

  • 支持插件扩展

  • 支持语法高亮、自动缩进

  • 操作全键盘化,极度高效

安装 Vim:

# Debian/Ubuntu 系统
sudo apt install vim# Red Hat/CentOS 系统
sudo yum install vim

二、Vim 三大模式详解(含图示)

Vim 有三个主要模式,分别是:

  • 普通模式(Normal Mode):用于浏览、删除、复制、粘贴等操作

  • 插入模式(Insert Mode):用于输入文本

  • 命令模式(Command Mode):用于保存、退出、查找、替换等

🌟 模式切换图示:

+----------------+
|   命令模式 :   |
|   输入 :wq等   |
+----------------+▲||  Esc▼
+----------------+
|  普通模式 (默认)|
|  浏览/编辑指令 |
+----------------+▲|i/a/o | I/A/O▼
+----------------+
|  插入模式      |
|  正常输入文本  |
+----------------+

 

三、Vim 常用命令速查表(精选)

1️⃣ 启动与退出

操作命令
启动编辑文件vim filename
保存文件:w
退出 Vim:q
保存并退出:wq or ZZ
强制退出:q!

2️⃣ 插入模式切换

命令功能
i当前光标前插入
a当前光标后插入
o新起一行插入
I行首插入
A行尾插入

3️⃣ 普通模式编辑操作

命令功能
dd删除整行
yy复制整行
p粘贴到下一行
u撤销
Ctrl + r重做
/word向下搜索 word
:%s/old/new/g全局替换

四、可视模式与批量注释操作(图示说明)

可视模式(Visual Mode)介绍:

操作命令
进入字符选择v
进入行选择V
进入块选择(列模式)Ctrl + v

🌟 批量注释操作(如 C 语言中的 //):

1. 进入块选择模式 Ctrl + v
2. 使用上下键选中多行
3. 输入 Shift + i 输入注释符号 // 
4. 然后按 Esc,Vim 会自动在每一行前插入 //

图示如下(列选择插入 //):

Before:              After:
int a = 1;           // int a = 1;
int b = 2;           // int b = 2;
int c = 3;           // int c = 3;

五、窗口与标签操作(多文件编辑)

多窗口编辑

:split file2.c      " 水平分屏
:vsplit file3.c     " 垂直分屏
Ctrl + w + w        " 窗口之间切换

多标签操作(tab)

:tabnew             " 新建标签页
gt                  " 下一个标签页
gT                  " 上一个标签页
:tabclose           " 关闭标签页

六、Vim 插件推荐(插件管理 + 常用插件)

插件管理工具推荐:vim-plug

  1. 安装 vim-plug:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  1. 编辑 ~/.vimrc 添加插件:

call plug#begin('~/.vim/plugged')" 文件浏览器
Plug 'preservim/nerdtree'" 状态栏美化
Plug 'vim-airline/vim-airline'" 快速模糊搜索
Plug 'junegunn/fzf.vim'" 自动补全引擎
Plug 'ycm-core/YouCompleteMe'call plug#end()
  1. 安装插件:

打开 Vim 输入命令:

:PlugInstall

🌟 插件功能简述:

插件名说明
NERDTree树形目录浏览
vim-airline状态栏美化
fzf.vim文件模糊查找
YouCompleteMe自动补全引擎
vim-surround快速修改引号、括号
auto-pairs自动括号闭合

七、个性化 Vim 配置推荐

编辑 ~/.vimrc

set number             " 显示行号
syntax on              " 启用语法高亮
set tabstop=4          " 设置 Tab 宽度
set expandtab          " 将 Tab 转为空格
set shiftwidth=4       " 设置缩进宽度
set autoindent         " 自动缩进
set relativenumber     " 显示相对行号
set clipboard=unnamedplus " 共享系统剪贴板

八、结语

Vim 是一款“易学难精”的编辑器,初期上手门槛略高,但一旦掌握后将极大提升你在文本编辑与编码过程中的效率。掌握模式切换、配合插件使用,再配合一些个性化设置,Vim 将成为你高效开发的利器。

http://www.xdnf.cn/news/1096291.html

相关文章:

  • Java从入门到精通!第三天(数组)
  • 【threejs】第一人称视角之八叉树碰撞检测
  • 论文笔记(LLM distillation):Distilling Step-by-Step!
  • MiniGPT4源码拆解——models
  • 原生微信小程序研发,如何对图片进行统一管理?
  • 微信小程序101~110
  • UnrealEngine5游戏引擎实践(C++)
  • Android Coil 3 data加载图的Bitmap或ByteArray数据类型,Kotlin
  • Android 如何阻止应用自升级
  • C语言 | 函数核心机制深度解构:从底层架构到工程化实践
  • Matplotlib 全面使用指南 -- 自动缩放坐标轴 Autoscaling Axis
  • 【Linux】Linux 操作系统 - 27 , 进程间通信(三) --System V 共享内存
  • 编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
  • 抽象类基础知识
  • 如何选择合适的ai降重工具?七个实用的ai查重网站
  • 【会员专享数据】2013-2024年我国省市县三级逐日SO₂数值数据(Shp/Excel格式)
  • 告别繁琐:API全生命周期管理的新范式——apiSQL
  • 调用京东API接口时,如果超过了调用频率限制,应该如何处理?【项目经验分享】
  • Django+DRF 实战:自定义异常处理流程
  • FeatherScan v4.0 – 适用于Linux的全自动内网信息收集工具
  • 快速搭建服务器,fetch请求从服务器获取数据
  • linux网络编程之读缓冲区设计
  • 系统性部署系统母盘【rhel7和rhel9】
  • 腾讯云分为几个区域
  • 2025社交电商新风口:推客小程序的商业逻辑与技术实现
  • 以太网基础⑤UDP 协议原理与 FPGA 实现
  • 《信号与系统》学习笔记——第八章(补充部分)
  • 分库分表之实战-sharding-JDBC分库分表执行流程原理剖析
  • 【算法笔记】6.LeetCode-Hot100-链表专项
  • VTK 9.0中的屏幕空间环境光遮挡