《鸟哥的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 中实现高效的文本编辑。

相关推荐
xhaoDream28 分钟前
NFS客户端与服务端用户不一致问题
linux·服务器·经验分享
航月2 小时前
linux中VI命令的详细解释
linux·运维·服务器
浩浩测试一下2 小时前
内网渗透(CS&&MSF) 构建内网代理的全面指南:Cobalt Strike 与 Metasploit Framework 深度解析
linux·服务器·网络
aleluye2 小时前
vscode颜色配置
ide·vscode·编辑器
慕城南风3 小时前
怎么查看linux是Ubuntu还是centos
linux·ubuntu·centos
若尘拂风4 小时前
centos 9 编译安装 rtpengine
linux·运维·centos
1024熙4 小时前
【Linux】——进程状态&&僵尸进程&&孤儿进程
linux·运维·服务器·进程·进程状态
钡铼技术物联网关5 小时前
从PLC到云端:5G嵌入式网关的MQTT协议转换与Ubuntu二次开发全解析
linux·arm开发·5g·边缘计算
菜_小_白5 小时前
mysql连接池
linux·c++·mysql
Linux运维老纪6 小时前
K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)
linux·云原生·容器·kubernetes·云计算·运维开发