Linux ——— 常用的文件传输工具和编辑器配置方法

目录

安装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 命令的核心使用场景:

  1. 切换到目标目录:先通过 cd /home/ranjiaju/test 进入上传文件的目标目录(上传的文件会直接存放在这个目录,不会自动创建子目录);
  2. 触发上传:输入 rz 并回车,终端工具会自动弹出本地文件选择窗口(需终端支持图形化交互,主流工具均支持);
  3. 选择文件上传:在本地窗口中选中要上传的文件(如 default.xshf),确认后文件会通过终端连接传输到 Linux 服务器的当前目录;
  4. 验证结果:执行 ll 命令,看到 default.xshf 文件已存在,说明上传成功(文件权限默认继承当前用户的 umask 配置,示例中为 rw-r--r--)。

3. 关键特性与注意事项

  • 上传路径:文件默认上传到「执行 rz 命令时的当前目录」,若需上传到指定目录,需先 cd 到该目录再执行 rz
  • 多文件上传:弹出文件选择窗口时,可按住 Ctrl 键选中多个文件,一次性上传;
  • 传输限制:依赖终端工具的连接,若上传超大文件(如 GB 级),可能因超时失败,此时建议用 scprsync 工具;
  • 权限问题:上传后的文件拥有者和所属组均为当前执行 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 命令的核心使用场景,流程拆解如下:

  1. 定位文件所在目录:先通过 pwd 确认当前目录为 /home/ranjiaju/test,目标文件 test_1.c 就在该目录下(无需输入完整路径,直接写文件名即可);
  2. 触发下载:输入 sz test_1.c 并回车,终端工具会自动弹出「本地文件保存窗口」(需终端支持图形化交互,主流工具均默认支持);
  3. 选择本地保存路径:在弹出的窗口中选择本地电脑的目标文件夹(如 "桌面""下载" 目录),确认后文件会通过终端连接传输到本地;
  4. 验证服务器文件状态:下载完成后执行 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 级)建议用 scprsync(避免终端超时导致传输失败)。

总结

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,而非 rzsz);
  • 常用选项:
    • -y:自动确认卸载操作,无需手动输入 y 确认(跳过 Is this ok [y/N] 提示),适合脚本自动化卸载;
    • --noautoremove:仅卸载指定软件包,强制保留其依赖的其他软件包(默认情况下 yum 可能自动清理无用依赖);
    • --allmatches:卸载所有与指定名称匹配的软件包(若系统中安装了多个版本的同一软件,可一次性卸载)。

三、执行流程(结合示例)

示例中的操作完整呈现了 yum remove 命令的默认执行流程,步骤拆解如下:

  1. 触发卸载检查:执行 yum remove lrzsz 后,yum 包管理器首先加载插件(如示例中的 fastestmirror 插件,用于加速软件源查询),然后解析 lrzsz 软件包的安装状态、关联依赖关系;
  2. 生成卸载清单:系统自动列出待卸载的软件包(lrzsz)及可能影响的依赖(示例中省略的中间输出即为该清单),明确告知用户卸载后将删除的文件和组件;
  3. 等待用户确认:输出 Is this ok [y/N]: 提示,要求用户确认是否执行卸载(y 表示确认,N 表示取消);
  4. 取消卸载与事务保存:示例中输入 N 后,系统执行 "用户指令退出",同时保存本次未完成的卸载事务,并提示 "重新运行事务的命令"(便于后续需卸载时直接执行,无需重复输入完整命令)。

四、关键特性与注意事项

  1. 权限要求:必须以 root 用户身份或通过 sudo 执行(示例中终端提示符为 #,表明当前为 root 用户),普通用户无权限修改系统软件包;
  2. 依赖处理逻辑:
    • 默认行为:仅卸载指定软件包,其依赖的其他软件包若仍被其他程序使用,则保留;若依赖为 "仅该软件包所需",部分系统会提示是否一并清理(需手动确认);
    • 彻底清理依赖:若需卸载指定软件包及无用依赖,可执行 yum autoremove lrzsz(自动删除不再被任何软件依赖的组件);
  3. 确认机制:默认开启手动确认([y/N] 提示),避免误卸载关键软件(如系统核心组件),-y 选项可跳过确认(需谨慎使用,尤其卸载系统依赖软件时);
  4. 事务保存功能:取消卸载后,系统会保存本次事务(示例中提示 "rerun it with: ..."),后续若需重新卸载,直接执行提示的命令即可,无需重新输入 yum remove lrzsz
  5. 卸载效果:
    • 删除内容:软件包的可执行文件(如 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 中,光标在 hwL
b 光标以 "单词" 为单位向前移动
h/j/k/l 光标分别向左 / 下 / 上 / 右移动一个字符(替代方向键,效率更高)
Shift+~ 切换光标所在字符的大小写,光标后移一位;行尾字符执行无效果
r 替换光标所在字符(如光标在 pr 再按 qp 变为 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
  • 核心作用:从光标位置开始,输入的字符会直接覆盖原有字符(如光标在 helloe 处,输入 12 则变为 h12lo);
  • 退出方式:按 Esc 回到命令模式。

四、分屏模式(多文件编辑补充)

当需要同时编辑多个文件(如 test_1.ctest_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 使用体验的核心方式。

关键定位细节:

  1. 路径专属:.vimrc 位于用户家目录(可简写为 ~/.vimrc),示例中通过 pwd 确认当前目录为 /home/ranjiajuranjiaju 用户的家目录),执行 touch .vimrc 创建的正是该路径下的配置文件,仅对当前用户(ranjiaju)生效;
  2. 作用域隔离:不同用户可在各自家目录创建独立的 .vimrc,配置互不干扰(如 root 用户的 .vimrc 位于 /root/.vimrc);系统级 Vim 配置文件为 /etc/vimrc(对所有用户生效),但优先级低于用户级 ~/.vimrc(用户配置会覆盖系统默认配置);
  3. 隐藏特性:.vimrc 是隐藏文件,需通过 ll -a-a 表示显示所有文件,包括隐藏文件)才能查看,示例中 ll -a 输出里能看到 -rw-rw-r-- 1 ranjiaju ranjiaju 0 Dec 3 23:10 .vimrc,普通 ll 命令无法显示该文件。

二、.vimrc 配置文件的创建与编辑(结合示例)

示例中的操作完整覆盖了 .vimrc 从创建到配置生效的核心流程:

  1. 创建空配置文件:执行 touch .vimrc 创建空的 .vimrc 文件(初始大小为 0),此时文件无任何配置,Vim 仍使用默认行为;
  2. 编辑配置指令:执行 vim .vimrc 进入 Vim 编辑模式,写入自定义配置指令(如 set nu),保存退出后配置立即生效;
  3. 配置自动加载:后续执行 vim test_1.c 打开文件时,Vim 会自动读取 ~/.vimrc 中的 set nu 指令,自动为 test_1.c 显示行号,无需每次打开文件后手动输入 :set nu(临时生效的配置)。

三、.vimrc 配置生效的核心逻辑

Vim 启动时会按 "系统级 → 用户级" 的顺序读取配置文件,确保用户个性化配置优先生效:

  1. 第一步:读取系统级配置文件 /etc/vimrc(所有用户共用的默认配置);
  2. 第二步:读取当前用户家目录的 ~/.vimrc(用户自定义配置),若与系统级配置冲突,以用户级配置为准;
  3. 生效时机:写入配置并保存退出 .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 允许退格键删除任意字符(默认仅删除输入的字符)

五、关键注意事项

  1. 配置错误处理:若 .vimrc 中写入错误指令(如 set nuu),Vim 启动时会弹出错误提示,但仍能正常打开文件,只需修正错误指令并保存即可;
  2. 配置备份:若需恢复默认配置,可临时重命名 .vimrc(如 mv ~/.vimrc ~/.vimrc.bak),重启 Vim 即恢复默认行为;
  3. 配置持久化:.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
相关推荐
落羽的落羽1 天前
【Linux系统】进程终止、进程等待与进程替换的概念与实现
linux·服务器·c++·人工智能·深度学习·机器学习·游戏引擎
博语小屋1 天前
实现简单日志
linux·服务器·数据库·c++
HerayChen1 天前
HbuilderX 内存溢出报错
java·大数据·linux
呱呱巨基1 天前
Linux 进程概念
linux·c++·笔记·学习
liulilittle1 天前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
Xの哲學1 天前
Linux Miscdevice深度剖析:从原理到实战的完整指南
linux·服务器·算法·架构·边缘计算
你们补药再卷啦1 天前
ai(二)ubuntu22.04配置环境
linux·ubuntu
yong15858553431 天前
2. Linux C++ muduo 库学习——原子变量操作头文件
linux·c++·学习
泽02021 天前
Linux信号专题
linux·运维·服务器