目录
安装rz和sz的命令
[rz 指令(本地文件上传到服务器的命令行工具)](#rz 指令(本地文件上传到服务器的命令行工具))[一、rz 命令的核心解析](#一、rz 命令的核心解析)
二、拖拽文件上传:终端工具的便捷替代方案
[sz 命令(服务器文件下载到本地的命令行工具)](#sz 命令(服务器文件下载到本地的命令行工具))[一、sz 命令的核心解析](#一、sz 命令的核心解析)
总结
[yum remove 指令(卸载已安装软件包)](#yum remove 指令(卸载已安装软件包))[一、yum remove 指令的核心解析](#一、yum remove 指令的核心解析)
四、关键特性与注意事项
安装扩展源的指令
[安装 sl 指令的指令](#安装 sl 指令的指令)
[安装 cowsay 指令的指令](#安装 cowsay 指令的指令)
[vim 编辑器](#vim 编辑器)[一、Vim 的核心定位](#一、Vim 的核心定位)
[二、Vim 四大模式的核心切换逻辑](#二、Vim 四大模式的核心切换逻辑)
五、核心总结
[vim 配置](#vim 配置)[一、.vimrc 文件的核心定位与作用](#一、.vimrc 文件的核心定位与作用)
[二、.vimrc 配置文件的创建与编辑(结合示例)](#二、.vimrc 配置文件的创建与编辑(结合示例))
[三、.vimrc 配置生效的核心逻辑](#三、.vimrc 配置生效的核心逻辑)
[四、常见的 .vimrc 配置指令(补充)](#四、常见的 .vimrc 配置指令(补充))
总结
[一键配置 vim](#一键配置 vim)
安装rz和sz的命令
sudo yum install -y lrzsz
rz 指令(本地文件上传到服务器的命令行工具)
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ pwd
/home/ranjiaju/test
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ rz
//输入 rz 再回车后会弹出文件,将需要使用的文件打开就能加载到当前 test 目录中
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 12
-rw-r--r-- 1 ranjiaju ranjiaju 9426 Nov 16 23:00 default.xshf
一、rz 命令的核心解析
rz 是 Linux 系统中 本地文件上传到服务器的命令行工具 ,属于 lrzsz 工具集(配套的 sz 命令用于从服务器下载文件到本地),核心作用是通过终端工具(如 Xshell、SecureCRT、FinalShell)建立的连接,将本地电脑(如 Windows、Mac)的文件上传到 Linux 服务器的「当前工作目录」,无需依赖 FTP、SCP 等复杂工具,操作极简。
1. 核心依赖与安装
rz 命令并非 Linux 系统默认自带,需先安装 lrzsz 工具集才能使用:
- CentOS/RHEL 系统:
sudo yum install -y lrzsz - Ubuntu/Debian 系统:
sudo apt install -y lrzsz - 安装后即可直接使用
rz(上传)和sz 文件名(下载)命令。
2. 工作原理与操作流程(结合的示例)
操作完美演示了 rz 命令的核心使用场景:
- 切换到目标目录:先通过
cd /home/ranjiaju/test进入上传文件的目标目录(上传的文件会直接存放在这个目录,不会自动创建子目录); - 触发上传:输入
rz并回车,终端工具会自动弹出本地文件选择窗口(需终端支持图形化交互,主流工具均支持); - 选择文件上传:在本地窗口中选中要上传的文件(如
default.xshf),确认后文件会通过终端连接传输到 Linux 服务器的当前目录; - 验证结果:执行
ll命令,看到default.xshf文件已存在,说明上传成功(文件权限默认继承当前用户的 umask 配置,示例中为rw-r--r--)。
3. 关键特性与注意事项
- 上传路径:文件默认上传到「执行 rz 命令时的当前目录」,若需上传到指定目录,需先
cd到该目录再执行rz; - 多文件上传:弹出文件选择窗口时,可按住 Ctrl 键选中多个文件,一次性上传;
- 传输限制:依赖终端工具的连接,若上传超大文件(如 GB 级),可能因超时失败,此时建议用
scp或rsync工具; - 权限问题:上传后的文件拥有者和所属组均为当前执行 rz 命令的用户(如示例中的
ranjiaju),权限由 umask 自动分配。
二、拖拽文件上传:终端工具的便捷替代方案
你提到的 "拖拽文件加载到当前目录",是 终端工具(如 Xshell、FinalShell)提供的可视化便捷功能,本质与 rz 命令的目的一致(本地→服务器上传文件),但操作更简单,无需输入命令:
- 操作方式:直接在本地电脑选中要上传的文件,鼠标拖拽到终端窗口的命令行区域,松开鼠标后,终端会自动触发上传流程(相当于后台执行了 rz 命令并选中该文件);
- 核心优势:省去输入
rz命令和手动选择文件的步骤,适合快速上传单个或少量文件; - 注意事项:拖拽上传的文件同样会存放在 Linux 服务器的「当前目录」,需提前切换到目标目录,否则文件会上传到当前所在目录(可能导致文件混乱)。
sz 命令(服务器文件下载到本地的命令行工具)
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ pwd
/home/ranjiaju/test
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ touch test_1.c
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
-rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 20:03 test_1.c
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ sz test_1.c
// 输入 sz test_1.c 再回车后,就可以把 test_1.c 文件传输到当前电脑的指定位置
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
-rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 20:03 test_1.c
一、sz 命令的核心解析
sz 是 Linux 系统中 服务器文件下载到本地的命令行工具 ,与上一轮的 rz 命令同属 lrzsz 工具集(sz = send file,意为 "发送文件"),核心作用是通过终端工具(如 Xshell、FinalShell)的连接,将 Linux 服务器上的指定文件下载到本地电脑(Windows/Mac)的自定义路径,无需依赖 FTP、SCP 等工具,是命令行环境下 "服务器→本地" 文件传输的极简方案。
1. 工作原理与操作流程(结合的示例)
操作完整覆盖了 sz 命令的核心使用场景,流程拆解如下:
- 定位文件所在目录:先通过
pwd确认当前目录为/home/ranjiaju/test,目标文件test_1.c就在该目录下(无需输入完整路径,直接写文件名即可); - 触发下载:输入
sz test_1.c并回车,终端工具会自动弹出「本地文件保存窗口」(需终端支持图形化交互,主流工具均默认支持); - 选择本地保存路径:在弹出的窗口中选择本地电脑的目标文件夹(如 "桌面""下载" 目录),确认后文件会通过终端连接传输到本地;
- 验证服务器文件状态:下载完成后执行
ll命令,可见服务器上的test_1.c仍存在(sz 是 "复制下载",而非 "剪切移动",不会删除服务器原文件),权限和属性保持不变(示例中仍为-rw-rw-r--)。
2. 关键特性与注意事项
- 下载对象:仅支持下载「文件」,不支持直接下载目录(若需下载目录,需先用
tar打包为文件,再用 sz 下载); - 多文件下载:可同时指定多个文件,用空格分隔,例如
sz test_1.c test_2.txt,终端会弹出窗口选择保存路径,所有文件统一下载到该路径; - 保存路径:每次执行 sz 都会弹出保存窗口,可灵活选择本地路径(部分终端支持设置默认保存路径,避免重复选择);
- 权限要求:执行 sz 命令的用户需拥有目标文件的「读权限(r)」(示例中
ranjiaju是文件拥有者,有rw权限,因此可正常下载);若无读权限,会提示 "Permission denied"; - 传输限制:适合下载小到中量级文件(如脚本、配置文件、日志片段),超大文件(GB 级)建议用
scp或rsync(避免终端超时导致传输失败)。
总结
sz 命令的核心优势是 "便捷性"------ 无需记忆复杂的传输协议(如 SCP 的远程路径格式),仅需 "定位文件 + 执行 sz 文件名",即可通过图形化窗口完成下载,与 rz 配合形成 "上传 - 下载" 闭环,是终端用户日常传输小文件的首选工具。
yum remove 指令(卸载已安装软件包)
[root@iZ2vc15k23y9vpuyi3tiqzZ ~]# yum remove lrzsz
Loaded plugins: fastestmirror
// ......
Is this ok [y/N]: N
Exiting on user command
Your transaction was saved, rerun it with:
一、yum remove 指令的核心解析
yum remove 是 Linux (CentOS/RHEL 系列系统专属)中 卸载已安装软件包 的核心命令,通过 yum 包管理器自动处理软件包的卸载流程,包括定位软件包、校验依赖关系、清理相关文件,最终移除系统中指定的软件(示例中目标软件为 lrzsz,即 rz/sz 命令所属的工具集),是系统软件管理中 "卸载" 场景的标准操作。
二、基本语法
yum remove [选项] 软件包名1 [软件包名2 ...]
- 核心参数:
软件包名是必须指定的卸载目标,需与安装时的软件包名一致(如卸载lrzsz工具集,软件包名即为lrzsz,而非rz或sz); - 常用选项:
-y:自动确认卸载操作,无需手动输入y确认(跳过Is this ok [y/N]提示),适合脚本自动化卸载;--noautoremove:仅卸载指定软件包,强制保留其依赖的其他软件包(默认情况下 yum 可能自动清理无用依赖);--allmatches:卸载所有与指定名称匹配的软件包(若系统中安装了多个版本的同一软件,可一次性卸载)。
三、执行流程(结合示例)
示例中的操作完整呈现了 yum remove 命令的默认执行流程,步骤拆解如下:
- 触发卸载检查:执行
yum remove lrzsz后,yum 包管理器首先加载插件(如示例中的fastestmirror插件,用于加速软件源查询),然后解析lrzsz软件包的安装状态、关联依赖关系; - 生成卸载清单:系统自动列出待卸载的软件包(
lrzsz)及可能影响的依赖(示例中省略的中间输出即为该清单),明确告知用户卸载后将删除的文件和组件; - 等待用户确认:输出
Is this ok [y/N]:提示,要求用户确认是否执行卸载(y表示确认,N表示取消); - 取消卸载与事务保存:示例中输入
N后,系统执行 "用户指令退出",同时保存本次未完成的卸载事务,并提示 "重新运行事务的命令"(便于后续需卸载时直接执行,无需重复输入完整命令)。
四、关键特性与注意事项
- 权限要求:必须以
root用户身份或通过sudo执行(示例中终端提示符为#,表明当前为 root 用户),普通用户无权限修改系统软件包; - 依赖处理逻辑:
- 默认行为:仅卸载指定软件包,其依赖的其他软件包若仍被其他程序使用,则保留;若依赖为 "仅该软件包所需",部分系统会提示是否一并清理(需手动确认);
- 彻底清理依赖:若需卸载指定软件包及无用依赖,可执行
yum autoremove lrzsz(自动删除不再被任何软件依赖的组件);
- 确认机制:默认开启手动确认(
[y/N]提示),避免误卸载关键软件(如系统核心组件),-y选项可跳过确认(需谨慎使用,尤其卸载系统依赖软件时); - 事务保存功能:取消卸载后,系统会保存本次事务(示例中提示 "rerun it with: ..."),后续若需重新卸载,直接执行提示的命令即可,无需重新输入
yum remove lrzsz; - 卸载效果:
- 删除内容:软件包的可执行文件(如
rz/sz命令)、系统级配置文件、库文件等; - 保留内容:用户自定义配置文件(如
~/.lrzszrc)、软件生成的用户数据目录(需手动删除,yum 不自动清理用户数据)。
- 删除内容:软件包的可执行文件(如
安装扩展源的指令
[root@iZ2vc15k23y9vpuyi3tiqzZ ~]# yum install -y epel-release
因为官方 yum 中的软件不一定齐全,所以要安装扩展源,通过扩展源来安装一些非官方的软件
安装 sl 指令的指令
[root@iZ2vc15k23y9vpuyi3tiqzZ ~]# yum install -y sl
sl - 弹幕版的跑火车
安装 cowsay 指令的指令
[root@iZ2vc15k23y9vpuyi3tiqzZ ~]# yum install -y cowsay
cowsay "XXXXXX" - 会出现一个弹幕牛说"XXXXXX"
[root@iZ2vc15k23y9vpuyi3tiqzZ ~]# cowsay "你是一个好人"
________
< 你是一个好人 >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
vim 编辑器
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ pwd
/home/ranjiaju/test
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ touch test_1.c
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ ll
total 0
-rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 21:06 test_1.c
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ test]$ vim test_1.c
一、Vim 的核心定位
Vim 是 Linux 系统中 功能强大的纯文本编辑器 ,基于 vi 编辑器增强而来,核心特征是 "多模式编辑"------ 不同模式对应不同操作场景(如命令执行、文本输入、全局配置),避免编辑过程中误操作,示例中的操作是通过 Vim 编辑 test_1.c 源文件,是 Linux 下编写 / 修改代码的标准方式。
二、Vim 四大模式的核心切换逻辑
Vim 启动后默认进入「命令模式」,各模式间通过固定按键切换,Esc 是 "万能回退键"(除命令模式外,其他模式按 Esc 均可返回命令模式),核心切换流程:
命令模式(默认)
↓(按 i)→ 插入模式(写代码/文本)
↓(按 Shift+; 即 :)→ 底行模式(全局配置/执行系统命令)
↓(按 Shift+r)→ 替换模式(批量替换字符)
所有非命令模式 → 按 Esc → 回退到命令模式
三、各模式的核心指令详解
1. 命令模式(核心控制模式)
命令模式是 Vim 的 "基础模式",无文本输入功能,仅执行光标控制、文本编辑(复制 / 剪切 / 删除)等指令,示例中编写完代码后需先按 Esc 回到此模式,才能进入底行模式保存退出。常用指令及作用如下:
| 指令 | 核心作用 |
|---|---|
gg |
光标定位到文件第一行开头 |
Shift+g |
光标定位到文件最后一行开头 |
n+Shift+g |
光标定位到第 n 行开头(n 为数字,如 3+Shift+g 定位到第 3 行) |
yy |
复制光标所在行的全部内容 |
p |
将复制的内容粘贴到光标所在行的下一行,粘贴后光标移至粘贴行开头 |
yy+n+p |
复制光标行内容,并连续粘贴 n 次(如 yy+10+p 粘贴 10 行) |
n+yy |
从光标行开始,向下复制 n 行内容(如 5+yy 复制光标行及后续 4 行) |
u |
撤销上一步操作(如撤销粘贴、删除、修改) |
dd |
剪切 / 删除光标所在行(剪切后可通过 p 粘贴,仅删除则直接执行 dd) |
n+dd |
从光标行开始,向下剪切 / 删除 n 行(如 3+dd 删除光标行及后续 2 行) |
Shift+$ |
光标跳转到当前行的最后一个字符位置 |
Shift+^ |
光标跳转到当前行的第一个非空字符位置 |
w |
光标以 "单词" 为单位向后移动(如 hello Linux 中,光标在 h 按 w 到 L) |
b |
光标以 "单词" 为单位向前移动 |
h/j/k/l |
光标分别向左 / 下 / 上 / 右移动一个字符(替代方向键,效率更高) |
Shift+~ |
切换光标所在字符的大小写,光标后移一位;行尾字符执行无效果 |
r |
替换光标所在字符(如光标在 p 按 r 再按 q,p 变为 q) |
n+r |
从光标位置开始,连续替换后续 n 个字符为指定字符(如 3+r 替换 3 个字符) |
Shift+r |
进入替换模式(覆盖式替换,区别于插入模式的插入式输入) |
x |
删除光标所在位置的字符 |
n+x |
从光标位置开始,向后删除 n 个字符(如 5+x 删除 5 个字符) |
Ctrl+r |
撤销上一次的撤销操作(恢复被 u 撤销的内容) |
2. 插入模式(文本输入模式)
插入模式是 Vim 的 "内容编写模式",仅用于输入文本、代码等内容,无命令执行功能。
- 进入方式:命令模式下按
i(光标前插入),此外还可通过a(光标后插入)、o(光标下新建行插入)进入; - 核心作用:示例中在该模式下编写 C 代码(
#include<stdio.h>等),是编辑文件内容的核心场景; - 退出方式:按
Esc回到命令模式。
3. 底行模式(全局配置 / 系统命令模式)
底行模式用于执行全局配置、文件保存 / 退出、调用系统命令,需在命令模式下按 Shift+;(输入 :)进入,光标固定在文件底部的输入行。常用指令及作用如下:
| 指令 | 核心作用 |
|---|---|
:wq |
保存文件并退出 Vim |
:wq! |
强制保存并强制退出(适用于文件权限为只读、或 root 编辑普通用户文件等场景) |
:! gcc test_1.c |
不退出 Vim,临时调用系统命令编译 test_1.c;执行后回车返回 Vim |
:! ls |
不退出 Vim,执行 ls 命令查看当前目录文件;回车返回 Vim |
:! ./a.out |
不退出 Vim,运行编译生成的可执行文件 a.out,打印运行结果;回车返回 Vim |
:set nu |
显示文件所有行的行号(临时生效,永久生效需配置 ~/.vimrc) |
:set nonu |
取消显示行号 |
4. 替换模式(覆盖式编辑模式)
替换模式是特殊的编辑模式,用于 "覆盖式" 修改文本(区别于插入模式的 "插入式"):
- 进入方式:命令模式下按
Shift+r; - 核心作用:从光标位置开始,输入的字符会直接覆盖原有字符(如光标在
hello的e处,输入12则变为h12lo); - 退出方式:按
Esc回到命令模式。
四、分屏模式(多文件编辑补充)
当需要同时编辑多个文件(如 test_1.c 和 test_2.c)时,可通过底行模式指令实现分屏:
- 分屏指令:命令模式下进入底行模式,输入
:vs test_2.c,可垂直分屏显示test_1.c(左侧)和test_2.c(右侧); - 切换指令:按
Ctrl+w+w(连续按两次w),可在多个分屏窗口间来回切换; - 核心价值:无需退出 Vim 即可对比 / 修改多个文件,提升多文件编辑效率。
五、核心总结
Vim 的多模式设计是其核心优势,不同模式各司其职:
- 命令模式:控制光标、快速编辑(复制 / 删除 / 替换);
- 插入模式:编写文本 / 代码;
- 底行模式:全局配置、调用系统命令;
- 替换模式:批量覆盖式修改。示例中的操作流程(创建
test_1.c→ Vim 打开 → 插入模式写代码 → 命令模式 → 底行模式保存退出),是 Linux 下使用 Vim 编辑代码的标准流程,结合各类指令可大幅提升编辑效率。
vim 配置
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ pwd
/home/ranjiaju
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ ll -a
total 44
drwx------ 3 ranjiaju ranjiaju 4096 Dec 3 23:01 .
drwxr-xr-x. 4 root root 4096 Nov 17 00:36 ..
-rw------- 1 ranjiaju ranjiaju 8203 Dec 2 19:37 .bash_history
-rw-r--r-- 1 ranjiaju ranjiaju 18 Oct 31 2018 .bash_logout
-rw-r--r-- 1 ranjiaju ranjiaju 193 Oct 31 2018 .bash_profile
-rw-r--r-- 1 ranjiaju ranjiaju 231 Oct 31 2018 .bashrc
-rw------- 1 ranjiaju ranjiaju 50 Nov 20 17:16 .lesshst
drwxrwxr-x 2 ranjiaju ranjiaju 4096 Dec 3 23:01 test
-rw------- 1 ranjiaju ranjiaju 1592 Dec 3 23:01 .viminfo
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ touch .vimrc
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ ll -a
total 44
drwx------ 3 ranjiaju ranjiaju 4096 Dec 3 23:10 .
drwxr-xr-x. 4 root root 4096 Nov 17 00:36 ..
-rw------- 1 ranjiaju ranjiaju 8203 Dec 2 19:37 .bash_history
-rw-r--r-- 1 ranjiaju ranjiaju 18 Oct 31 2018 .bash_logout
-rw-r--r-- 1 ranjiaju ranjiaju 193 Oct 31 2018 .bash_profile
-rw-r--r-- 1 ranjiaju ranjiaju 231 Oct 31 2018 .bashrc
-rw------- 1 ranjiaju ranjiaju 50 Nov 20 17:16 .lesshst
drwxrwxr-x 2 ranjiaju ranjiaju 4096 Dec 3 23:01 test
-rw------- 1 ranjiaju ranjiaju 1592 Dec 3 23:01 .viminfo
-rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 23:10 .vimrc
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ vim .vimrc
一、.vimrc 文件的核心定位与作用
.vimrc 是 Vim 编辑器的 用户级个性化配置文件 ,存储在用户家目录(示例中为 /home/ranjiaju),文件名以 "." 开头表示是 Linux 系统的隐藏文件,Vim 启动时会自动读取该文件中的配置指令,覆盖 Vim 默认行为,实现个性化定制(如显示行号、设置缩进、开启语法高亮等),是定制 Vim 使用体验的核心方式。
关键定位细节:
- 路径专属:
.vimrc位于用户家目录(可简写为~/.vimrc),示例中通过pwd确认当前目录为/home/ranjiaju(ranjiaju用户的家目录),执行touch .vimrc创建的正是该路径下的配置文件,仅对当前用户(ranjiaju)生效; - 作用域隔离:不同用户可在各自家目录创建独立的
.vimrc,配置互不干扰(如root用户的.vimrc位于/root/.vimrc);系统级 Vim 配置文件为/etc/vimrc(对所有用户生效),但优先级低于用户级~/.vimrc(用户配置会覆盖系统默认配置); - 隐藏特性:
.vimrc是隐藏文件,需通过ll -a(-a表示显示所有文件,包括隐藏文件)才能查看,示例中ll -a输出里能看到-rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 23:10 .vimrc,普通ll命令无法显示该文件。
二、.vimrc 配置文件的创建与编辑(结合示例)
示例中的操作完整覆盖了 .vimrc 从创建到配置生效的核心流程:
- 创建空配置文件:执行
touch .vimrc创建空的.vimrc文件(初始大小为 0),此时文件无任何配置,Vim 仍使用默认行为; - 编辑配置指令:执行
vim .vimrc进入 Vim 编辑模式,写入自定义配置指令(如set nu),保存退出后配置立即生效; - 配置自动加载:后续执行
vim test_1.c打开文件时,Vim 会自动读取~/.vimrc中的set nu指令,自动为test_1.c显示行号,无需每次打开文件后手动输入:set nu(临时生效的配置)。
三、.vimrc 配置生效的核心逻辑
Vim 启动时会按 "系统级 → 用户级" 的顺序读取配置文件,确保用户个性化配置优先生效:
- 第一步:读取系统级配置文件
/etc/vimrc(所有用户共用的默认配置); - 第二步:读取当前用户家目录的
~/.vimrc(用户自定义配置),若与系统级配置冲突,以用户级配置为准; - 生效时机:写入配置并保存退出
.vimrc后,新打开的 Vim 窗口立即加载配置 ;若需让当前已打开的 Vim 窗口生效,可在 Vim 中执行:source ~/.vimrc手动加载配置。
四、常见的 .vimrc 配置指令(补充)
除示例中的 set nu(显示行号)外,.vimrc 可配置的常用指令覆盖编辑体验的核心场景:
| 配置指令 | 功能说明 |
|---|---|
set nu |
显示行号(number) |
set tabstop=4 |
设置 Tab 键缩进为 4 个空格 |
set shiftwidth=4 |
设置自动缩进为 4 个空格 |
set autoindent |
开启自动缩进(换行后继承上一行缩进) |
set hlsearch |
高亮显示搜索结果 |
set syntax on |
开启语法高亮(不同语言代码显示不同颜色) |
set cursorline |
高亮显示光标所在行 |
set encoding=utf-8 |
设置文件编码为 UTF-8 |
set backspace=2 |
允许退格键删除任意字符(默认仅删除输入的字符) |
五、关键注意事项
- 配置错误处理:若
.vimrc中写入错误指令(如set nuu),Vim 启动时会弹出错误提示,但仍能正常打开文件,只需修正错误指令并保存即可; - 配置备份:若需恢复默认配置,可临时重命名
.vimrc(如mv ~/.vimrc ~/.vimrc.bak),重启 Vim 即恢复默认行为; - 配置持久化:
.vimrc中的配置是永久生效的,相比每次打开 Vim 后手动输入:set nu(临时生效,关闭 Vim 后失效),实现 "一次配置、永久使用"。
总结
在用户家目录创建 .vimrc 是 Vim 个性化配置的标准方式,核心价值在于:
- 持久化:替代临时配置指令,一次写入永久生效;
- 个性化:按编辑习惯定制缩进、行号、高亮等功能,适配不同编程语言(如 C、Python 等)的编辑需求;
- 隔离性:仅对当前用户生效,不影响其他用户的 Vim 使用,也不会覆盖系统级默认配置。
示例中的操作(创建空 .vimrc → 写入 set nu → 打开文件自动显示行号),完美体现了 .vimrc 从创建到生效的核心流程,是日常使用 Vim 提升编辑效率的基础操作。
一键配置 vim
仅使用于 CentOS7 版本
[ranjiaju@iZ2vc15k23y9vpuyi3tiqzZ ~]$ curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh