Linux中vim常用命令大全

Vim 是一款功能强大的文本编辑器,广泛用于 Linux 系统中。以下是 Vim 中一些常用命令和操作的汇总,帮助你更高效地使用 Vim。

1. 启动和退出

启动 Vim:

bash 复制代码
vim filename   # 编辑指定文件

退出 Vim:

:q # 退出(如果没有修改)
:q! # 强制退出(不保存修改)
:wq # 保存并退出
ZZ # 保存并退出(在正常模式下)

2. 文件操作

保存文件:
:w # 保存当前文件
:w filename # 将当前文件另存为指定文件

打开文件:
:e filename # 打开指定文件
:bn # 切换到下一个缓冲区
:bp # 切换到上一个缓冲区

3. 编辑操作

进入插入模式:
i # 在光标前插入
I # 在行首插入
a # 在光标后插入
A # 在行尾插入
o # 在当前行下插入新行
O # 在当前行上插入新行

退出插入模式:
Esc # 返回正常模式

删除文本:
x # 删除光标处的字符
dd # 删除当前行
d2d # 删除当前行及以下两行
d$ # 删除从光标到行尾的内容
d0 # 删除从光标到行首的内容

复制和粘贴:
yy # 复制当前行
y2y # 复制当前行及以下两行
p # 在光标后粘贴
P # 在光标前粘贴

4. 撤销和重做

撤销:
u # 撤销上一步操作
Ctrl + r # 重做上一步操作

5. 搜索和替换

搜索文本:

/pattern # 向下搜索指定模式
?pattern # 向上搜索指定模式
n # 跳转到下一个匹配项
N # 跳转到上一个匹配项

替换文本:

vim 复制代码
:%s/old/new/g   # 替换文档中所有的 "old" 为 "new"
:%s/old/new/gc  # 替换时确认

6. 移动光标

基本移动:

h # 左移
j # 下移
k # 上移
l # 右移

按单词移动:
w # 移动到下一个单词的开头
b # 移动到上一个单词的开头
e # 移动到当前单词的末尾

按行移动:
0 # 移动到行首
$ # 移动到行尾
gg # 移动到文件的第一行
G # 移动到文件的最后一行
:n # 移动到第 n 行

7. 视觉模式

进入视觉模式:

v # 选择字符
V # 选择整行
Ctrl + v # 选择列

选择后操作:

在选择后,使用 dyp 等命令执行删除、复制、粘贴等操作。

8. 常用设置

行号显示:

vim 复制代码
:set number     # 显示行号
:set nonumber   # 不显示行号

高亮搜索:

vim 复制代码
:set hlsearch    # 高亮显示搜索结果
:set nohlsearch  # 取消高亮

自动换行:

vim 复制代码
:set wrap        # 启用自动换行
:set nowrap      # 禁用自动换行

9. 其他有用命令

打开帮助:

:help # 打开帮助文档

查看当前配置:

:set # 查看当前所有设置

10. 自定义快捷键

~/.vimrc 文件中,可以自定义快捷键和设置。例如:

nnoremap <F5> :w<CR> " F5 快捷键保存文件

总结

以上是 Vim 中一些常用命令和操作的汇总。Vim 是一个非常强大的文本编辑器,学习其命令和技巧可以极大提高你的工作效率。建议在使用过程中多加练习,熟悉各种命令和操作。

相关推荐
白日梦想家68116 小时前
第三篇:Node.js 性能优化实战:提升服务并发与稳定性
linux·编辑器·vim
万法若空17 小时前
Vim常用指令汇编
汇编·编辑器·vim
Hello World . .2 天前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
-Try hard-2 天前
数据结构 | 双向链表、双向循环链表、栈
数据结构·链表·vim
-Try hard-2 天前
数据结构|概念及单向有头链表
数据结构·算法·vim
cooldream20093 天前
Vim 报错 E325:swap 文件冲突的原理、处理流程与彻底避免方案
linux·编辑器·vim
-Try hard-3 天前
数据结构:链表常见的操作方法!!
数据结构·算法·链表·vim
Hello World . .3 天前
数据结构:链表(2)
c语言·数据结构·vim
森叶3 天前
Node.js 跨进程通信(IPC)深度进阶:从“杀人”的 kill 到真正的信号
node.js·编辑器·vim
学嵌入式的小杨同学4 天前
【Linux 实战】Makefile 自动化构建进阶:静态库 / 动态库通用模板(一键编译 + 系统安装)
linux·开发语言·git·vscode·spring·vim·ux