精通Vi:常用命令与高级技巧解析

需积分: 10 0 下载量 191 浏览量 更新于2024-09-15 收藏 83KB PDF 举报
"这篇文章主要介绍了在Unix/Linux环境中使用Vi编辑器的常用命令和高级应用技巧。Vi是Linux系统中广泛使用的文本编辑工具,虽然初学者可能会因其复杂的命令集感到困惑,但一旦熟悉并掌握了一些基本操作,就能体会到其高效与强大。文章详细列举了光标移动、编辑、查找和拷贝等基础命令,并分享了一些实用的应用场景,如从文件中提取特定信息、处理权限问题以及删除大段内容的方法。" 在深入理解Vi编辑器之前,首先要明白它有两种模式:命令模式和插入模式。在命令模式下,你可以移动光标、执行编辑命令;而进入插入模式后,你则可以直接在当前光标位置输入文本。 1. **光标命令**: - `k`: 上移一行 - `j`: 下移一行 - `h`: 左移一列 - `l`: 右移一列 - `nG`: 跳转到第n行 - `Ctrl+G`: 显示当前行号和列号 2. **编辑命令**: - `i`: 在光标前开始插入文本 - `a`: 在光标后开始插入文本 - `r`: 替换光标下的单个字符 - `cw`: 改变(替换)光标所在单词 - `dw`: 删除光标所在单词 - `x`: 删除当前字符 - `d$,dd`: 删除至行尾或整行 3. **查找命令**: - `/string`: 向下查找字符串 - `?string`: 向上查找字符串 4. **拷贝复制命令**: - `yy`: 复制当前行 - `p`: 粘贴剪贴板内容 5. **高级应用**: - 读取文件内容:`:r/etc/passwd` 可以将`/etc/passwd`的内容插入到当前光标位置 - 删除特定内容:使用`%s/:.*//g`可以删除所有冒号及其后的内容 - 处理权限问题:如果无权保存文件,可以先`w /tmp/1`保存到临时文件,或只保存部分行,如`:20,59w /tmp/1` - 删除大段内容:`:23,1045d` 删除从23行到1045行的内容 掌握这些基础和高级技巧,可以显著提高在Unix/Linux环境中使用Vi编辑器的效率。不仅如此,Vi还有更丰富的功能,如宏录制、模式匹配和自定义快捷键等,这些都是进阶学习的方向。对于系统管理员和程序员来说,熟练掌握Vi是日常工作的必备技能。