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.pswp.cn/diannao/91227.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web前端渡一大师课 01 事件循环

一. 浏览器的进程模型 1.何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意 2.何为线程?有了进程后,就可以运行程序的代码了,运行代码的"人",称之为"线程&…

linux网络存储——freeNAS的安装配置

一、前言 freeNAS 是一款基于 FreeBSD 的开源网络存储操作系统,支持文件共享(如 SMB/CIFS、NFS、AFP)、数据备份、虚拟化存储等功能。同时FreeNAS开源优势明显,代码开放可自主定制,能满足多样需求。支持多种协议…

深度学习图像分类数据集—七种树叶识别分类

该数据集为图像分类数据集,适用于ResNet、VGG等卷积神经网络,SENet、CBAM等注意力机制相关算法,Vision Transformer等Transformer相关算法。 数据集信息介绍:七种树叶识别分类:[冬青叶, 杨树叶, 柳叶, 梧桐叶, 石楠叶,…

c++图形题练习程序

一.练习题背景 这题是作者再一家公司实习的时候,实习期间的一个考核题目,感觉还是比较有价值的。希望能给还在努力的学弟学妹们一些启发。 题目大致就是要求用继承和多态来实现圆、三角形和长方形的面积和周长求解。这步的大致思路是这样的,你…

【论文阅读 | PR 2024 |ITFuse:一种用于红外与可见光图像融合的交互式 Transformer】

论文阅读 | PR 2024 |ITFuse:一种用于红外与可见光图像融合的交互式 Transformer1.摘要&&引言2.方法2.1 问题表述2.2 框架概述2.3 特征交互模块2.3.1 共同特征提取分支(IcI_{c}Ic​ 分支)2.3.2 独特特征提取分支(I1I_{1}I…

【Qt】 设计模式

在Qt应用程序开发中,结合数据库操作、通信、界面逻辑和显示等功能,以下是常用的设计模式及其典型应用场景: 一、MVC/MVVM(模型-视图-控制器/视图模型) 作用:分离数据(模型)、界面&am…

【HarmonyOS】ArkUI-X 跨平台框架入门详解(一)

【HarmonyOS】ArkUI-X 跨平台框架入门详解(一) 一、前言 1、ArkUI-X框架是什么? ArkUI-X是在ArkUI开发框架的基础上,进行扩展。支持多个OS平台,目前支持OpenHarmony、HarmonyOS、Android、 iOS。2、ArkUI-X目前的能力现…

开发者进化论:驾驭AI,开启软件工程新纪元

导语:人工智能(AI)的浪潮,特别是以大型语言模型(LLM)为代表的生成式AI,正以前所未有的力量,深刻地重塑着软件开发的传统疆域。我们正处在一个关键的转折点——产业的重心正从模型的“…

智慧水务平台,智慧水务,惠及民生,提升水务管理效率与服务质量

平升电子智慧水务平台支持海量物联网数据接入实现供水全流程信息化,深度逻辑运算自动控制实现供水调度智慧化,融入管网地理信息系统实现测点数据时空化,数字孪生实现水厂各工艺环节运行情况可视化,多角度统计分析实现水务运营管理…

【Unity基础】Unity中元素的层级排序

在Unity中,控制元素的层级排序(渲染顺序)是确保场景正确显示的关键。以下是常见的层级排序方式及其适用场景:1. 通过GameObject的层级顺序(Sorting Layer/Order in Layer) 适用对象:2D精灵&…

梁的振动特征函数分析2

问题7&#xff1a;左端固定、右端自由梁的振动分析 考虑梁的振动方程&#xff1a; uttKuxxxx0,0<x<l,K>0 u_{tt} K u_{xxxx} 0, \quad 0 < x < l, \quad K > 0 utt​Kuxxxx​0,0<x<l,K>0 边界条件&#xff1a; 左端固定&#xff08;位移和斜率为零…

AI问答-Token:在人工智能领域,Token 是模型处理文本的核心单元 / 最小可处理片段

一、在人工智能领域&#xff0c;Token 是模型处理文本的核心单元&#xff0c;可理解为文本的“最小可处理片段”二、表格理解类别详细说明基本定义Token 是模型处理文本的最小语义或语法单位&#xff0c;可以是单词、子词、字符、标点符号或特殊符号。例如&#xff1a;- 单词级…

读取ubuntu的磁盘分区表与超级块

1.读取磁盘分区表sudo fdisk -l /dev/sda2.计算偏移量分区起始偏移 4096 512 2097152 字节 超级块位置 2097152 1024 2098176字节3.快速验证&#xff08;直接检查魔数 53 &#xff09;# 检查偏移 2,098,176 处是否有 EXT4 魔数 sudo dd if/dev/sda bs1 count2 skip$((209…

科技驯服烈日狂沙:中东沙漠农场的光储革命

作者 | 小葳 阿布扎比郊外的午后&#xff0c;沙漠灼热、干旱难耐。 然而一座农场内&#xff0c;景象截然不同&#xff1a;蔬菜生机盎然&#xff0c;果实挂满枝头。农户轻点手机&#xff0c;远程调控着大棚内温湿度&#xff1b;灌溉与施肥&#xff0c;则由系统自动精准执行。 这…

基于Chinese-CLIP与ChromaDB的中文图像检索功能实现

本文按“原理 → 代码 → 讲解”三层展开&#xff0c;读者只需具备 Python 基础即可跟随完成一个可落地的以文搜图应用。 一、整体思路 把图片和文字都转成固定长度的向量&#xff08;768 维&#xff09;。把图片向量提前存入向量数据库。查询时把文字转成向量&#xff0c;再找…

Pandas 的 Index 与 SQL Index 的对比

一、Pandas 的 Index&#xff08;索引&#xff09;是什么&#xff1f;Pandas 的 Index 就像是 Excel 表格的行号 列标题&#xff0c;或者书的目录。核心作用&#xff1a;定位数据&#xff1a;就像 Excel 中用行号和列名定位单元格&#xff08;如 A1、B2&#xff09;&#xff0…

Rust指针选择

Rust指针选择&#xff1a; 1.优先使用引用&#xff1a;安全访问数据 fn process(data: &[i32]) { /* ... */ }2.需要所有权转移时用 Box fn create() -> Box<Data> { Box::new(Data::new()) }3.共享数据用 Rc/Arc // 单线程 let shared Rc::new(data);// 多线程 …

【实用IP查询工具】IP数据云-IP地址查询离线库使用方案

IP数据云&#xff08;ipdatacloud.com&#xff09;深耕IP地址查询技术&#xff0c;打造了覆盖多场景、高精度的IP地址查询离线库&#xff0c;为不同行业客户提供稳定、高效的本地化数据支持。 什么是IP 地址查询 离线库&#xff1f; IP地址查询离线库是将海量IP地址与对应的地…

UE5CameraShake参数详解

使用CameraShakeBase蓝图中简单调用和调试 使用 Play World Camera Shake 这个节点带有震动衰减效果Epicenter是震动中心点 传入Boss的位置 Inner Radius是 内部范围 距离小于内部范围时 , 全强度震动Outer Radius是 外部范围 距离大于外部范围时 , 就无震动Falloff 是衰…

java学习 day4 分布式锁

P60分布式锁误删线程标示和锁中标示一致P61分布式锁的原子性问题判断锁标示和释放锁不同时 造成误删P62Lua脚本P63java执行Lua脚本原子性P64redissionredisson框架P65redisson入门P66redisson可重入锁原理和测试redisson可重入锁P67锁重试看门狗看到67 10min处&#xff0c;看不…