Linux快速学习-vi编辑器常用命令

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述Linux快速学习-vi编辑器常用命令相关的知识,希望能为你提供帮助。

级版



目录
  • 1. 进入退出
  • 2. 三种模式
  • 3. 光标移动
  • 4. 文本修改
  • 5. 查找替换
  • 6. 设置环境



1. 进入退出
进入命令示例
说明
vi
进入vi编辑器,类似于打开window文本编辑器软件
vi linuxLean.txt
用vi编辑器打开 linuxLean.txt 文件
vi ??+13?? linuxLean.txt
用vi编辑器打开 linuxLean.txt 文件,并且光标定位在13行,??+号要输入??
vi ??+?? linuxLean.txt
用vi编辑器打开 linuxLean.txt 文件,并且光标定位在尾行
vi ??+/查找字符串?? linuxLean.txt
打开 linuxLean.txt 文件,光标定位在第一次出现??查找字符串??的行首
退出命令示例
说明
【Linux快速学习-vi编辑器常用命令】w
保存修改,但不退出
wq
保存修改且退出
q
退出,但文件有修改则报错
q??!??
强制退出,不保存任何修改
w ??文件名001.txt??
保存文件为 ??文件名001.txt??, 但如果存在则报错
w??!?? ??文件名001.txt??
保存文件为 ??文件名001.txt??, 如果存在则覆盖
2. 三种模式命令模式(??按Esc键??),末行模式(??按: / ?键??),编辑模式(??按i a o键?? ) 默认进入vi是命令模式
??i??在光标当前位置插入
??大写I??在光标当前行??最左??边插入
??a??在光标当前位置的后一个字符位置插入
??大写A??在光标当前行??最右??边插入
??o??在当前行的??下??面插入新的一行
??大写O??在当前行的??上??面插入新的一行
3. 光标移动命令模式下:
  • hjkl键 和 按方向键都可以移动光标,h:向左,l:向右,j:向下,k:向上
  • ngg 调到n行的行首
  • G光标定位最后一行的行首
  • nG光标定位到n行的行首
  • Ctrl+G最底部显示当前光标位置,一共多少行
  • 0(数字零)光标移动到当前行行首
  • $光标移动到当前行的行尾
4. 文本修改
  • yy复制当前行(yank的首字母)
  • nyy 复制当前行及其后的n-1行,
  • 使用小写p键来粘贴(paste)至光标后面
  • 使用大写P键来粘贴(paste)至光标前面
  • dd删除光标所在行
  • ndd删除当前行及其后的n-1行
  • u键撤销上一步操作
  • x删除光标所在的字符
5. 查找替换
  • /要搜索的字符串 从光标开始处向文件尾搜索,后按下n下一个匹配出
  • s/p1/p2/g 将文件中所有的p1均用p2替换
  • s/p1/p2/cg 替换时需要确认
  • 1,m s/p1/p2/g 从第1行到第m行,将文件中所有的p1均用p2替换
  • 1,$ s/p1/p2/g 在整个文件内容里面,将文件中所有的p1均用p2替换
    s:substitute 替换 g:global 全局 c:confirm确认
文本命令说明: vi中的文本修改命令组成一般是 ??[光标定位] [选择文本] 修改??
示例如下:
  1. 删除从当前行开始的5行 ??修改??
5dd


  1. 在整个文本中替换aaaa为 bbbb ??选择文本 修改??
1,$ s/aaaa/bbb/g


  1. 删除从16行到20行的所有内容 ??光标定位 修改??
16G 5dd


  1. 将第3行至第7行的文本复制到第1行的行首 ??光标定位 选择文本 修改??
3G 5yy 1GP


6. 设置环境常用的设置,命令行模式下
  • ??set number 或 set nu?? 显示行号
  • ??set nonumber?? 隐藏行号
  • ??set terse?? 错误信息按照简短的方式展示
  • ??set report = n?? 表示编辑影响n行以上则在状态行上展示报告信息,n=0 表示每次编辑都展示报告


    推荐阅读