2042 字
10 分钟
LInux基础(3—2):Linux终端与Vim快捷键大全
TIP引言:双手不离键盘的艺术

对于Linux运维人员而言,快捷键是提升工作效率的核心武器。熟练掌握终端和Vim编辑器的快捷键,能让你以数倍于鼠标操作的速度完成日常任务。本文将按功能分类详细讲解最常用的Linux终端快捷键和Vim操作,帮助你从”会用”进阶到”精通”。 ::

一、Linux终端快捷键#

NOTE兼容性说明

所有快捷键适用于 Ubuntu、CentOS 9 Stream、银河麒麟、openEuler 等所有主流 Linux 发行版的默认终端(如 GNOME Terminal、Konsole、Xterm 等)。 ::

1. 光标移动(★★★★★ 最重要)#

这类快捷键让你在命令行中快速移动光标,彻底告别低效的方向键。

快捷键功能
Ctrl + a移动到行首(最常用)
Ctrl + e移动到行尾(最常用)
Alt + f向前移动一个单词
Alt + b向后移动一个单词
Ctrl + f向前移动一个字符(同→)
Ctrl + b向后移动一个字符(同←)
Ctrl + xx在当前位置和行首之间快速切换

2. 文本编辑(★★★★★ 最重要)#

无需逐字删除,利用以下组合键实现命令行的快速剪切与粘贴。

快捷键功能
Ctrl + u删除从光标到行首的所有内容(剪切)
Ctrl + k删除从光标到行尾的所有内容(剪切)
Ctrl + w删除光标前的一个单词(剪切)
Alt + d删除光标后的一个单词(剪切)
Ctrl + y粘贴刚才用Ctrl+u/k/w/d剪切的内容
Ctrl + h删除光标前一个字符(同Backspace)
Ctrl + d删除光标后一个字符(同Delete)
Ctrl + t交换光标前两个字符的位置

3. 命令历史(★★★★★ 最重要)#

善用历史记录,避免重复造轮子。其中 Ctrl + r 是运维领域公认的“效率神器”。

history_commands_demo.sh
# 使用特殊符号快速调用命令历史展示
!! # 立即执行上一条命令
!sudo # 以sudo权限执行上一条包含sudo的命令历史
!105 # 执行历史中第105条命令
!sys # 执行最近以sys开头的命令(如systemctl restart nginx)

4. 进程控制(★★★★ 重要)#

IMPORTANT进程控制核心

终端运行的进程往往直接绑定当前会话,合理利用挂起(Ctrl + z)和后台策略(bg/fg)可以让你在一个终端窗口内游刃有余地处理多项任务。 ::

快捷键功能
Ctrl + c强制终止当前进程(最常用)
Ctrl + z挂起当前进程(放到后台暂停)
Ctrl + d退出当前Shell(同exit命令)
fg将后台挂起的进程恢复到前台
bg将后台挂起的进程放到后台继续运行
jobs查看所有后台进程

5. 终端控制(★★★★ 重要)#

CAUTION危险操作预警

如果不小心按到 Ctrl + s 导致终端被卡死响应,千万不要直接关掉窗口!这属于触发了“暂停屏幕输出”,只需按下 Ctrl + q 即可瞬间恢复。 ::

快捷键功能
Ctrl + l清屏(同clear命令,最常用)
Ctrl + Shift + c/v复制 / 粘贴选中的文本
Ctrl + Shift + t/w新建 / 关闭终端标签页
Ctrl + PageUp/Down切换终端标签页

二、Vim编辑器操作与快捷键#

Vim 是 Linux 系统默认的编辑器,也是运维人员必须掌握的工具(其经典设计甚至影响了无数现代工具,感兴趣可翻阅上游源码 ::github{repo=“vim/vim”} )。

NOTE

Vim三种基本模式

  1. 普通模式(Normal Mode):启动Vim后默认进入的模式,用于移动光标、删除、复制、粘贴等操作。
  2. 插入模式(Insert Mode):用于输入文本,按 i / a / o 等键进入。
  3. 命令行模式(Command-Line Mode):用于保存、退出、搜索、替换等操作,按 : 进入。
WARNING模式切换注意

不管你卡在了什么状态,连续按两次 Esc 键,绝对能让你安全回到普通模式! ::

1. 模式切换与基础操作(★★★★★ 最重要)#

vim_basic_actions.vim
" 插入模式常用入口
i " 在光标前插入文本
a " 在光标后插入文本
o / O " 在下一行 / 上一行新建一行并插入
" 命令行模式文件处理
:w " 保存文件
:wq 或 ZZ " 保存并退出
:q! 或 ZQ " 强制退出不保存(运维排错只读日志时最常用!)
:w filename " 另存为指定文件

2. 光标移动(★★★★★ 最重要)#

熟练依赖 h j k l 行走江湖,你的速度将迎来质的飞跃。

核心移动速记#

  • 字符移动:h (←) | j (↓) | k (↑) | l (→)
  • 词组跳跃:w (下个词首) | b (上个词首) | e (下个词尾)
  • 行内跳转:0 (绝对行首) | ^ (首个非空字符) | $ (绝对行尾)
  • 翻页操作:Ctrl+f/b (上下翻全页) | Ctrl+d/u (上下翻半页)
vim_file_jump.vim
" 文件级别的极速定位
gg " 瞬间移动到文件第一行
G " 瞬间移动到文件最后一行
100G 或 :100 " 精准空降到第100行

3. 编辑操作(★★★★★ 最重要)#

操作类别组合键功能详解
删除dd整行删除(配合数字如 5dd 删除5行)
x / X删除光标向后/向前一个字符
d$ / D删除当前光标一直到行尾的内容
dG删除从当前行到文件全部结尾的残余内容
复制/粘贴yy整行复制(配合数字如 3yy 复制3行)
p / P粘贴到光标之后 / 光标之前
撤销/重做u撤销上一步操作(最常用)
Ctrl + r重做刚刚撤销掉的操作

4. 搜索与替换(★★★★ 重要)#

快速抓取系统日志报错和修改批量变量,这是 Vim 在运维环境最强大的功能。

Search_and_Replace.vim
" ----- 寻找线索 -----
/关键词 " 向下搜索关键词 (按 n 找下一个,N 找上一个)
?关键词 " 向上搜索关键词
:noh " 临时取消当前搜索高亮(满屏黄色高亮看着闹心时使用)
" ----- 批量替换 -----
:%s/旧/新/g " 最常用的全局替换:将所有'旧'替换为'新'
:%s/旧/新/gc " 全局替换并逐个确认(适合高风险配置文件修改)
:10,20s/旧/新/g " 划定范围:仅在10到20行范围内执行替换
:%s/旧/新/gi " 全局替换,且忽略大小写匹配

5. 实用高级操作与配置(★★★★ 重要)#

通过建立个人的配置文件,Vim会变得更加顺手。

~/.vimrc
" 运维必备的常用Vim环境预设(建议写入个人的 .vimrc)
set nu " 强制显示行号(排查 Nginx/MySQL 配置报错行数必备)
set autoindent " 开启自动换行缩进
set hlsearch " 开启搜索结果高亮显示
set nonu " 隐藏行号(已删除,建议长期开启nu)
5 collapsed lines
" 其他长篇视觉和编码配置(已折叠)
syntax on
set encoding=utf-8
set shiftwidth=4
set tabstop=4

其他高光指令:

  • 可视块模式:按 Ctrl + v 选中代码矩形块,批量打注释或删除极度有效。
  • 外部命令交互:在命令行输入 :!ls 可直接执行系统Shell,输入 :r!date 能把当前系统时间等输出内容瞬间推入正在编辑的文件光标处。

三、结语与最佳实践#

要把枯燥的键盘字符转化为生产力,需要落实到日常指尖的敲击之中:

  1. 坚持使用 hjkl 移动光标:在初始的一周强行封印方向键,强迫自己使用核心键位。
  2. 命令历史是宝藏:Ctrl + r 能帮你完美挖出几个月前排障时敲过的那个包含十几道管道符的复杂命令。
  3. 批量操作首选可视模式:处理 Dockerfile 或者 YAML 缩进,Ctrl + v 块可视模式无可替代。
  4. 通过实战形成本能:快捷键的融会贯通没有捷径可走,纯粹依赖日积月累,直至化身为不可磨灭的肌肉记忆。
LInux基础(3—2):Linux终端与Vim快捷键大全
https://www.6ixblog.site/posts/linux-basic-3-2/
作者
Licwic
发布于
2025-01-05
许可协议
CC BY-NC-SA 4.0