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

Posted 小时候的阳光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux快速学习-vi编辑器常用命令相关的知识,希望对你有一定的参考价值。

 级版


目录


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 文件,光标定位在第一次出现​​查找字符串​​的行首

退出命令示例

说明

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 表示每次编辑都展示报告

以上是关于Linux快速学习-vi编辑器常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux vi(vim)常用命令汇总

Linux学习系列--vivim编辑器的使用命令

Linux系统快速上手C3/3—VI编译器

linux vi 编辑器命令

linux学习笔记--vi与vim编辑器

vi和vim