VIM实用命令大全及操作技巧
需积分: 23 166 浏览量
更新于2024-10-28
收藏 58KB 7Z 举报
资源摘要信息:"VIM常见命令总结"
Vim是一个广泛使用的文本编辑器,它是vi编辑器的增强版,提供了更多的功能和灵活性。对于初学者和经验丰富的用户来说,掌握Vim的基本命令对于高效编辑文本至关重要。以下是对Vim常见命令的详细总结,旨在帮助用户快速掌握和使用Vim。
1. 打开和创建文件
- vim filename: 打开名为filename的文件,如果文件不存在则创建一个新文件。
- vim +n filename: 打开文件,并且光标定位在第n行。
2. 进入编辑模式
- i: 进入插入模式,可在当前光标位置插入文本。
- I: 在当前行的开头插入文本。
- a: 进入插入模式,光标位于当前字符之后。
- A: 在当前行的末尾插入文本。
- o: 在当前行下方新开一行,并进入插入模式。
- O: 在当前行上方新开一行,并进入插入模式。
3. 保存和退出
- :w: 保存文件但不退出Vim。
- :w! : 如果文件为只读,强制保存文件。
- :w filename: 将编辑的内容保存在名为filename的文件中。
- :wq 或 :x 或 ZZ: 保存并退出Vim。
- :q: 退出Vim。
- :q!: 强制退出并放弃对文件的更改。
4. 查找和替换
- /pattern: 从光标位置开始向下查找字符串pattern。
- ?pattern: 从光标位置开始向上查找字符串pattern。
- n: 在同一方向上重复上一次的查找命令。
- N: 在相反方向上重复上一次的查找命令。
- :%s/old/new/g: 将文件中所有出现的old字符串替换为new字符串。
- :%s/old/new/gc: 同上,但替换前会进行确认。
5. 光标的移动
- h, j, k, l: 分别向左、下、上、右移动光标。
- 0: 移动光标到当前行的开头。
- $: 移动光标到当前行的末尾。
- G: 移动到文件的最后一行。
- ngg 或 nG: 移动到第n行。
- :n: 移动到第n行。
- H: 移动光标到屏幕的顶部。
- M: 移动光标到屏幕的中间。
- L: 移动光标到屏幕的底部。
6. 复制粘贴和剪切
- yy 或 Y: 复制光标所在的行。
- nyy 或 nY: 复制从光标所在的行开始的n行。
- dd: 删除光标所在的行。
- ndd: 删除从光标所在的行开始的n行。
- p: 粘贴之前复制或删除的行。
- x: 删除当前光标下的字符。
- X: 删除光标前的字符。
- D: 删除从光标位置到行尾的文本。
7. 多窗口操作
- :sp 或 :split: 分割窗口。
- :vs 或 :vsplit: 垂直分割窗口。
- :close: 关闭当前窗口。
- :only: 保留当前窗口,关闭其他窗口。
- [Ctrl-w][方向键]: 在窗口间移动光标。
8. 文件管理
- :e path/to/file: 打开一个新文件进行编辑。
- :n: 切换到下一个文件。
- :N 或 :prev: 切换到上一个文件。
- :args: 列出当前编辑的所有文件。
9. 设置和配置
- :set nu: 显示行号。
- :set nonu: 关闭行号显示。
- :set autoindent: 自动缩进。
- :set tabstop=n: 设置制表符占用的空格数。
- :set shiftwidth=n: 设置每次缩进的空格数。
- :set expandtab: 将制表符转换为空格。
- :set smarttab: 智能缩进。
- :syntax on: 开启语法高亮。
- :syntax off: 关闭语法高亮。
10. 其他常用命令
- .: 重复上一次命令。
- u: 撤销上一次命令。
- U: 撤销对当前行所做的所有修改。
- :help [command]: 获取关于命令的在线帮助信息。
Vim的学习曲线较为陡峭,但随着练习和应用,用户可以大幅度提高文本编辑的效率。掌握上述命令是使用Vim进行高效编辑的基础。此外,Vim还支持大量的插件和配置,通过自定义Vim可以进一步扩展其功能,以适应个人的使用习惯和需求。
2018-11-12 上传
2010-02-03 上传
2011-03-04 上传
2008-02-02 上传
2011-11-27 上传
愤怒的可乐
- 粉丝: 5w+
- 资源: 29
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能