VI编辑器命令大全与实战解析
需积分: 9 152 浏览量
更新于2024-10-02
收藏 3KB TXT 举报
"这篇文章主要介绍了VI编辑器的常用命令,包括打开、移动、编辑、查找、替换等操作,以及一些高级功能,旨在帮助用户更好地掌握VI的使用技巧。"
在Unix和类Unix系统中,VI(Visual Editor)是标准的文本编辑器,它基于早期的ex编辑器。VI不仅可以用作命令行界面下的文本编辑工具,还因其高效和强大的功能而受到程序员和系统管理员的广泛使用。以下是一些关键的VI命令:
1. **打开文件**:
- `vi filename`:打开名为`filename`的文件。
- `vi +n filename`:从第n行开始打开文件。
- `vi + filename`:从文件末尾开始打开。
- `vi /pattern filename`:在打开文件后,光标自动定位到第一个匹配`pattern`的行。
2. **编辑模式切换**:
- `i`:进入插入模式,在当前光标位置开始输入。
- `I`:在当前行首开始插入。
- `a`:在当前光标之后开始插入。
- `A`:在当前行尾开始插入。
- `o`:在当前行下方新建一行开始插入。
- `O`:在当前行上方新建一行开始插入。
- `r`:替换当前字符。
- `R`:连续替换多个字符直到按下ESC。
3. **移动与选择**:
- `h`:向左移动一格。
- `l`:向右移动一格。
- `space`:向右移动一格。
- `Backspace`:向左移动一格。
- `k`或`Ctrl+p`:向上移动一行。
- `j`或`Ctrl+n`:向下移动一行。
- `Enter`:移动到下一行首。
- `w`:移动到下一个单词首。
- `W`:移动到下一个单词首,忽略大小写。
- `b`:移动到前一个单词首。
- `B`:移动到前一个单词首,忽略大小写。
- `e`:移动到当前单词尾。
- `E`:移动到当前单词尾,忽略大小写。
- `(`:移动到前一个句子首。
- `)`:移动到后一个句子首。
- `{`:移动到前一个段落首。
- `}`:移动到后一个段落首。
- `G`:移动到文件末。
- `nG`:移动到第n行。
- `H`:移动到屏幕顶。
- `M`:移动到屏幕中间。
- `L`:移动到屏幕底。
4. **复制、粘贴与删除**:
- `y`:复制(yank)。
- `nyy`:复制当前行及其下方n行。
- `dd`:删除当前行。
- `ndd`:删除当前行及其下方n行。
- `p`:在当前位置粘贴。
- `P`:在当前行首粘贴。
- `x`:删除当前字符。
- `X`:删除当前字符的前一个字符。
- `Ctrl+u`:删除至上一行。
- `Ctrl+d`:删除至下一行。
5. **查找与替换**:
- `/pattern`:向前查找`pattern`。
- `?pattern`:向后查找`pattern`。
- `n`:重复上一次查找方向。
- `N`:反向重复上一次查找方向。
- `s/p1/p2/g`:全局替换当前行中的`p1`为`p2`。
- `n1,n2s/p1/p2/g`:在范围n1到n2的行内替换`p1`为`p2`。
- `g/p1/s//p2/g`:全局替换文件中的所有`p1`为`p2`。
6. **其他命令**:
- `:term`:在底部模式打开终端窗口。
- `:ignorance`:忽略大小写进行查找。
- `:list`:显示行号。
- `:number`:取消显示行号。
- `:report`:设置报告阈值,用于显示多行操作的统计信息。
- `:terse`:减少信息提示。
- `:warn`:在不保存时离开VI,会显示警告信息。
- `:nomagic`:禁用特殊字符的魔法模式,使`\`失去特殊意义。
- `:nowrapscan`:在搜索时不跳过换行符。
- `:mesg`:控制外部消息。
- `:n1,n2con3`:将n1到n2的行复制到第3行后面。
- `:n1,n2mn3`:将n1到n2的行标记为n3。
- `:n1,n2dn`:删除n1到n2的行。
- `:w`:保存当前文件。
- `:efilename`:另存为`filename`。
- `:x`:保存并退出。
- `:q`:退出,如果文件被修改,则不允许。
- `:q!`:强制退出,不保存更改。
- `:!command`:执行shell命令`command`。
- `:n1,n2w!command`:将n1到n2的行作为`command`的输入。
- `:r!command`:读取`command`的输出到当前光标位置。
- `"?nyy`:复制n行到剪贴板。
- `"?nyw`:写入n行到剪贴板。
- `"?nyl`:将n行内容输出到屏幕。
以上只是VI编辑器的一部分命令,实际上,VI拥有丰富的命令集和自定义功能,熟练掌握后能极大地提高文本编辑效率。通过不断地实践和学习,可以更深入地了解和利用这个强大的文本编辑工具。
2011-09-20 上传
2012-10-19 上传
2009-07-11 上传
2010-07-15 上传
点击了解资源详情
点击了解资源详情
2013-12-14 上传
AI洋铭
- 粉丝: 2
- 资源: 19
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建