《鸟哥的Linux私房菜基础篇》---5 vim 程序编辑器

目录

一、vim程序编辑器的简介

二、命令模式快捷键(默认模式)

1、光标移动

2、编辑操作

3、搜索与替换

三、插入模式快捷键

四、底行模式快捷键(按:进入)

五、高级技巧

1、分屏操作

2、多文件编辑

3、可视化模式


一、vim程序编辑器的简介

1、在Linux的vi编辑器中,快捷键是提高编辑效率的关键。

2、vi是原始的文本编辑器,而vim(Vi IMproved)是vi的增强版,提供了更多的功能和快捷键。用户可能实际上使用的是vim。

vi有三种主要模式:命令模式、插入模式和底行模式。

二、命令模式快捷键(默认模式)

1、光标移动
捷键 功能说明
h / 左移一个字符
j / 下移一行
k / 上移一行
l / 右移一个字符
w 跳到下一个单词开头
b 跳到上一个单词开头
e 跳到当前单词结尾
0 跳到行首(绝对行首)
^ 跳到行首的非空白字符
$ 跳到行尾
Ctrl + f 向下翻页(Page Down)
Ctrl + b 向上翻页(Page Up)
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
G 跳到文件末尾
nG(如 5G 跳到第 n
gg 跳到文件开头
2、编辑操作
快捷键 功能说明
i 进入插入模式(光标前插入)
a 进入插入模式(光标后插入)
o 在当前行下方插入新行
O 在当前行上方插入新行
x 删除光标所在字符
dd 删除整行
ndd(如 3dd 删除 n
yy 复制整行
nyy(如 3yy 复制 n
p 粘贴到光标后
P 粘贴到光标前
u 撤销上一次操作
Ctrl + r 重做(恢复撤销)
J 合并当前行和下一行
~ 切换光标所在字符的大小写
3、搜索与替换
快捷键 功能说明
/pattern 向前搜索 pattern
?pattern 向后搜索 pattern
n 跳到下一个匹配项
N 跳到上一个匹配项
:%s/old/new/g 全局替换 oldnew
:%s/old/new/gc 全局替换并确认每个替换

三、插入模式快捷键

快捷键 功能说明
Esc 退出插入模式,返回命令模式
Ctrl + o 暂时退出插入模式,执行一个命令模式命令后返回

四、底行模式快捷键(按:进入)

快捷键 功能说明
:w 保存文件
:q 退出编辑器(未修改时)
:q! 强制退出(不保存修改)
:wq:x 保存并退出
:set nu 显示行号
:set nonu 隐藏行号
:set ts=4 设置 Tab 为 4 个空格
:set expandtab 将 Tab 转换为空格
:s/old/new/g 替换当前行所有 oldnew

五、高级技巧

1、分屏操作
  • :sp:split:水平分屏。
  • :vs:vsplit:垂直分屏。
  • Ctrl + w + h/j/k/l:在分屏间切换。
2、多文件编辑
  • :e filename:打开新文件。
  • :bn:bp:切换到下一个/上一个文件。
3、可视化模式
  • v:进入字符可视化模式(选择文本)。
  • V:进入行可视化模式。
  • Ctrl + v:进入块可视化模式。

掌握这些快捷键后,你可以在 vi/vim 中实现高效的文本编辑。

相关推荐
埃伊蟹黄面几秒前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·
五仁火烧28 分钟前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
JiMoKuangXiangQu35 分钟前
Linux build:头文件安装
linux·headers_install
lbb 小魔仙44 分钟前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
码农小韩1 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
Joren的学习记录1 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
代码游侠2 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
2501_933513042 小时前
Linux下载离线rpm和依赖包的方法
linux·运维·服务器
XiaoHu02072 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
Xの哲學2 小时前
Linux Platform驱动深度剖析: 从设计思想到实战解析
linux·服务器·网络·算法·边缘计算