Linux VI编辑器命令大全:高效操作指南
167 浏览量
更新于2024-09-03
收藏 29KB DOC 举报
"Linux VI命令使用技巧"
在Linux操作系统中,VI(Visual Editor)是一个强大的文本编辑器,也是系统管理员和开发者的常用工具。本篇文章主要汇总了Linux VI命令的一些使用技巧,包括进入VI的方式、光标移动、屏幕翻滚、文本插入、删除以及搜索和替换等操作。
1. **进入VI的命令**
- `vi filename`: 打开或新建名为`filename`的文件,光标默认在第一行首。
- `vi+n filename`: 同样打开`filename`,但光标位于第n行首。
- `vi+ filename`: 文件打开后,光标直接定位到最后一行。
- `vi+/pattern filename`: 搜索`pattern`,打开文件并把光标放在第一个匹配的位置。
- `vi-r filename`: 在上次编辑`filename`时发生崩溃,使用此命令可以尝试恢复未保存的内容。
- `vi filename1 filename2...`: 一次打开多个文件,按照给出的顺序依次编辑。
2. **移动光标类命令**
- `h`: 光标左移一个字符。
- `l`: 光标右移一个字符。
- `space`: 右移一个字符。
- `Backspace`: 左移一个字符。
- `k` 或 `Ctrl+p`: 光标上移一行。
- `j` 或 `Ctrl+n`: 光标下移一行。
- `Enter`: 下移一行。
- `w` 或 `W`: 光标移到下一个单词的开头。
- `b` 或 `B`: 光标移到上一个单词的开头。
- `e` 或 `E`: 光标移到当前单词的末尾。
- `)` 或 `(`: 移动到句子的末尾或开头。
- `{` 或 `}`: 移动到段落的开头或结尾。
- `nG`: 移动到第n行首。
- `n+`: 下移n行。
- `n-`: 上移n行。
- `n$`: 移动到第n行尾。
- `H`: 移动到屏幕顶部。
- `M`: 移动到屏幕中间。
- `L`: 移动到屏幕底部。
- `0`: 光标移到当前行首。
- `$`: 光标移到当前行尾。
3. **屏幕翻滚类命令**
- `Ctrl+u`: 向文件首翻半屏。
- `Ctrl+d`: 向文件尾翻半屏。
- `Ctrl+f`: 向文件尾翻一屏。
- `Ctrl+b`: 向文件首翻一屏。
- `nz`: 将第n行滚动到屏幕顶部,不指定n则滚动当前行到顶部。
4. **插入文本类命令**
- `i`: 在光标前插入文本。
- `I`: 在当前行首插入文本。
- `a`: 在光标后插入文本。
- `A`: 在当前行尾插入文本。
- `o`: 在当前行下面新开一行并开始插入。
- `O`: 在当前行上面新开一行并开始插入。
- `r`: 替换当前字符。
- `R`: 连续替换字符,直到按下`ESC`键。
- `s`: 删除当前光标位置的字符,然后开始输入替代文本。
- `S`: 删除指定行数并开始输入替代文本。
- `ncw` 或 `nCW`: 修改从光标开始的n-1个字。
- `nCC`: 修改指定数目的行。
5. **删除命令**
- `ndw` 或 `ndW`: 从当前光标处删除n-1个字。
- `do`: 删除到行首。
- `d$`: 删除到行尾。
- `ndd`: 删除当前行及其后的n-1行。
- `x` 或 `X`: 删除一个字符,`x`删除光标后,`X`删除光标前。
- `Ctrl+u`: 在输入模式下删除已输入的文本。
6. **搜索及替换命令**
- `/pattern`: 从光标开始向文件尾搜索`pattern`。
- `?pattern`: 从光标开始向文件首搜索`pattern`。
- `n`: 重复上一次查找动作。
- `N`: 反向重复上一次查找动作。
- `:s/pattern/replacement/flags`: 在当前行中替换`pattern`为`replacement`,可选`flags`如`g`全局替换,`c`确认每个替换。
掌握这些基本的VI命令技巧,能让你在Linux环境下进行文本编辑更加高效,无论是日常的系统管理还是代码编写,都能事半功倍。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-11-12 上传
2010-06-15 上传
2011-10-23 上传
2019-08-11 上传
2012-01-11 上传
2010-10-07 上传
weixin_38517892
- 粉丝: 3
- 资源: 950
最新资源
- 基于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任务构建