【Linux】vim:在终端里高效编辑

学会了装软件,下一步是编辑代码。Linux 服务端没有图形 IDE,日常编写代码、改配置都依赖终端编辑器。vim 是 vi 的增强版,支持语法高亮、多级撤销、插件扩展等。它最大的特点------或者说门槛------是模式编辑

目录

[1. 三种基本模式](#1. 三种基本模式)

[2. 命令模式:移动、删除、复制](#2. 命令模式:移动、删除、复制)

[3. 底行模式:保存、退出、搜索](#3. 底行模式:保存、退出、搜索)

[4. 简单配置](#4. 简单配置)


1. 三种基本模式

vim 不只是"打开文件、打字、保存"这样简单的线性操作。它有多种模式,初学时只要理解三种:

  • 命令模式(Normal Mode):打开文件后的默认模式。不能直接输入文字,而是用键盘发出删除、复制、移动光标等命令。

  • 插入模式(Insert Mode) :用来输入文字。按 iao 键从命令模式进入。

  • 底行模式(Last Line Mode) :用来保存、退出、搜索等。命令模式下按 : 进入。

三种模式的切换是一个环形结构:

text

复制代码
命令模式 → 按 i/a/o → 插入模式 → 按 ESC → 命令模式
命令模式 → 按 : → 底行模式 → 按 ESC → 命令模式

一打开 vim 就在命令模式,这是最常见的困惑来源------刚入门的人不知道"现在不能打字"是正常的。

2. 命令模式:移动、删除、复制

命令模式是 vim 的灵魂。真正的高手大部分时间都待在命令模式,偶尔切到插入模式写几个字,又退回来继续操作。所有操作都是通过键盘完成的,不用鼠标,手指不离主键盘区。

移动光标

text

复制代码
h (左)  j (下)  k (上)  l (右)     # 基本移动
w         # 跳到下个单词开头
b         # 跳到上个单词开头
e         # 跳到当前单词末尾
$         # 行尾
^         # 行首(第一个非空字符)
gg        # 文件开头
Shift+g   # 文件末尾
#G        # 跳到指定行,如 15G→跳到第15行
Ctrl+b    # 上翻一页
Ctrl+f    # 下翻一页

删除

text

复制代码
x         # 删除光标处一个字符
#x        # 向后删除#个字符,如 6x
X         # 删除光标前一个字符
#X        # 向前删除#个字符
dd        # 删除当前行
#dd       # 向下删除#行,如 5dd

复制与粘贴

text

复制代码
yy        # 复制当前行
#yy       # 向下复制#行,如 3yy
yw        # 复制到当前单词末尾
p         # 在光标处粘贴

其他

text

复制代码
u         # 撤销
Ctrl+r    # 重做(撤销的逆操作)
r         # 替换光标处一个字符

3. 底行模式:保存、退出、搜索

命令模式下按 : 进入底行模式,常见的操作:

text

复制代码
:w                 # 保存
:q                 # 退出
:wq                # 保存并退出
:q!                # 不保存,强制退出
set nu             # 显示行号
set nonu           # 取消行号
/keyword           # 搜索关键词,n 下一个,N 上一个
?keyword           # 反向搜索
:#                 # 跳转到指定行,如 :20→到第20行

set nu/keyword 是日常用的最多的底行命令。写代码时开着行号,报错定位会快很多。

4. 简单配置

vim 的配置文件在:

  • 系统级:/etc/vimrc

  • 用户级:~/.vimrc

在用户目录下创建 .vimrc,加几行基本配置:

vim

复制代码
syntax on           " 语法高亮
set nu              " 显示行号
set shiftwidth=4    " 缩进宽度为4空格

进阶玩家可以通过插件(TagList、WinManager 等)把 vim 打造成接近 IDE 的形态,但日常工作里这几行基础配置已经够用。

相关推荐
腾渊信息科技公司16 分钟前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
Dxy123931021637 分钟前
Proxy Protocol v2 详解
运维
踏月的造梦星球1 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
潘正翔1 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
weigangwin2 小时前
agent-workspace-linux 不是远程桌面:Linux AI 工作区的隔离边界验收
linux·xvfb·mcp·桌面隔离·权限边界·bubblewrap·agent-workspace
renhongxia12 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Dovis(誓平步青云)3 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
Java小白笔记4 小时前
Docker 安装配置完全指南:MacOS 、Windows、Linux环境下的安装、配置与验证
linux·macos·docker
csdn_aspnet4 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github
Inhand陈工6 小时前
数据中心UPS无功补偿与智能化监控方案:基于IG502的Modbus RTU转IEC61850实战
运维·人工智能·物联网·信息与通信