使用对象:

用于编辑任何ASCII文本,对于编辑源程序尤其有用。可以对文本进行创建】查找、替换、删除、复制和粘贴等操作。

三种工作模式

  1. 命令模式:进入vi编辑器默认处于命令模式。命令模式下控制屏幕光标的移动,字符、字或行的删除,某区域的移动、复制等。在命令模式下,按冒号键【:】可以进入末行模式,按字母【a】键可以进入插入模式。
  2. 插入模式:只有在插入模式下,才可以进行文本编辑。在插入模式下按【Esc】键可以回到命令模式。
  3. 末行模式:将文件进行保存或退出vi编辑器,以可以设置编辑环境、替换字符或删除字符。在末行模式下按【Esc】键可以回到命令模式。

进入插入模式命令

命令 功能
i 从光标当前所在位置之前开始插入
a 从光标当前所在位置之后开始插入
I 在光标所在行的行首插入
A 在光标所在行的行末尾插入
o 在光标所在的行的下面新开一行插入
O 在光标所在的行的上面新开一行插入
s 删除光标位置的一个字符,然后进入插入模式
S 删除光标所在的行,然后进入插入模式

光标移动

命令 功能
↑键(向上箭头) 使光标向上移动一行
↓键(向下箭头) 使光标向下移动一行
←键(向左箭头) 使光标向左移动一个字符
→键(向右箭头) 使光标向右移动一个字符
k 使光标向上移动一行
j 使光标向下移动一行
h 是光标向左移动一个字符
l 使光标向右移动一个字符
nk 使光标向上移动n行,n代表数字
nj 使光标向下移动n行,n代表数字
nh 使光标向左移动n个字符,n代表数字
nl 使光标向右移动n个字符,n代表数字
H 使光标移动到屏幕的顶部
M 使光标移动到屏幕中央
L 使光标移动到屏幕底部
Ctrl+b 使光标往上移动一页屏幕
Ctrl+f 使光标往下移动一页屏幕
Ctrl+u 使光标往上移动半页屏幕
Ctrl+d 使光标往下移动半页屏幕
0(数字0) 使光标移动到所在行的行首
$ 使光标移动到光标所在行的行尾
^ 使光标移动到光标所在行的行首
w 使光标跳到下一个字的开头
W 使光标跳到下一个字的开头,但会忽略一些标点符号
e 使光标跳到下一个字的字尾
E 使光标跳到下一个字的字尾,但会忽略一些标点符号
b 使光标移回到上一个字的开头
B 使光标回到上一个字的开头,但会忽略一些标点符号
使光标移动到上一个句首
使光标移动到下一个句首
使光标移动到上一个段落首
使光标移动到下一个段落首
G 使光标移动到文件尾(最后一行的第一个非空白字符处)
gg 使光标移动文件首(第一行第一个非空白字符处)
space键(空格键) 使光标向右移动一个字符
Backspace键 使光标向左移动一个字符
Enter键 使光标向下移动一行
Ctrl+p 使光标向上移动一行
Ctrl+n 使光标向下移动一行
n分隔符 使光标移动到n个字符处,n代表数字
nG 使光标移动到n行首,n代表数字
n+ 使光标向下移动n行,n代表数字
n- 使光标向上移动n行,n代表数字
n$ 使光标移动到以当前行算起的第n行尾,n代表数字

命令模式命令

类型 命令 功能
删除 x 删除光标位置所在的字符
  X 删除光标所在位置的前一个字符
  nx 删除光标所在位置的第n个字符
  nX 删除光标所在为主的前面n个字符,n代表数字
  dd 删除光标所在行
  ndd 从光标所在行开始删除第n行,n代表数字
  db 删除光标所在位置的前面一个单词
  ndb 删除光标所在位置的前面n个单词,n代表数字
  dw 从光标所在位置开始删除一个单词
  ndw 从光标所在位置开始删除n个单词,n代表数字
  d$ 删除光标到行尾的内容(含光标所在处字符)
  D 删除光标到行尾的内容(含光标所在处字符)
  dG 从光标位置所在行一直删除到文件尾
复制和粘贴 yw 复制光标所在位置到单词尾的字符
  nyw 复制光标所在位置开始的n个单词,n代表数字
  yy 复制光标所在行
  nyy 复制从光标所在行开始的n行,n代表数字
  y$ 复制光标所在位置到行尾内容或缓存区
  y^ 复制光标前面所在的位置到行首内容或缓存区
  YY 将当前行复制到缓冲区
  nYY 将当前开始的n行复制到缓冲区,n代表数字
  p 将缓冲区的内容写到光标所在的位置
替换 r 替换光标所在处的字符,按【r】键以后输入要替换的字符
  R 替换光标所到之处的字符,直到按下【Esc】键为止,【R】键之后输入要替换的字符
撤销和重复 u 撤销上一个操作。按多次【u】可以执行多次撤销
  U 取消所有操作
  . 再执行一次前面刚完成的操作
列出行号 Ctrl+g 列出光标所在行的行号
保存和退出 ZZ 保存和退出
  ZQ 不保存退出
查找字符 /关键字 先按【/】键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按【n】键往后查找下一个关键字,而按【N】键则会往相反的方向查找。
  ?关键字 先按【?】键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按【n】往前查找下一个关键字,而按【N】键会往相反方向查找
合并 nJ 将当前行开始的n行进行合并,n代表数字
  J 清除光标所在行与下一行之间的换行,行尾没有空格的话会自动添加一个空格

末行模式命令

类型 命令 功能
运行Shell命令 :!command 运行Shell命令,command代表命令
  :r!command 将命令运行的结果信息输入到当前位置,command代表命令
  :n1,n2w!command 将n1到n2行的内容作为命令的输入,n1和n2代表数字,command代表命令
查找字符 :/str/ 从当前光标开始往右移动到有str的地方,str代表字符
  :?str? 从当前贵宾卡i是往左移动到有str的地方,str代表字符
替换字符 :s/str1/str2 将光标所在行第一个字符str1替换为str2,str1和str2代表字符
  :s/str1/str2/g 将光标所在行所有的字符str1替换为str2,str1和str2代表字符
  :n1,n2s/str1/str2/g 用str2替换从第n1行到第n2行中出现的str1,str1和str2代表字符,n1和n2代表数字
  :%s/str1/str2/g 用str2替换文件中所有的str1,str1和str2代表字符
  :.,$s/str1/str2/g 将从当前位置到结尾的所有的str1替换为str2,str1和str2代表字符
保持和退出 :w 保持文件
  :w filename 将文件另存为filename
  :wq 保持文件并退出vi编辑器
  :wq filename 将文件另存为filenam后退出vi编辑器
  :wq! 保存文件并强制退出vi编辑器
  :wq! filename 将文件另存为filename后强制退出vi编辑器
  :x 保存文件并强制退出vi编辑器,其功能和:wq!相同
  :q 退出vi编辑器
  :q! 如果无法离开vi,强制退出vi编辑器
  :n1,n2w filename 将从n1行开始到n2行结束的内容保持到文件filename中,n1和n2代表数字
  :nw filename 将第n行内容保持到文件filename中,n代表数字
  :1,.w filename 从第一行开始到光标当前位置的所有内容保持到文件filename中
  :.,$w filename 将光标当前位置到文件末尾的所有内容保持到文件filename中
  :r filename 打开另外一个已经存在的文件filename
  :e filename 新建名为filename的文件
  :f filename 把当前文件改为filename文件
  :/str/w filename 将包含有str的行写到文件filename中,str代表字符
  :/str1/,/str2/w filename 将从包含有str1开始到str2结束的行内容写入到文件filename中,str1和str2代表字符
删除 :d 删除当前行
  :nd 删除第n行,n代表数字
  :n1,n2 d 删除从n1行开始到n2行为止的所有内容,n1和n2代表数字
  :.,$d 删除从当前行开始到文件末尾的所有内容
  :/str2/,/str2/d 删除从str1开始到str2为止的所在行的所有内容,str1和str2代表字符
复制和移动 :n1,n2 co n3 将从n1行开始到n2行为止的所有内容复制到n3行后面,n1、n2和n3代表数字
  :n1,n2 m n3 将从n1行开始到n2行为止的所有内容移动到n3行后面,n1、n2和n3代表数字
跳到某一行 :n 在冒号后输入一个数字,再按回车键就会跳到该行,n代表数字
设置vi环境 :set number 在文件中的每一行前面列出行号
  :set nonumber 取消在文件中的每一行前面列出行号
  :set readonly 设置文件为只读状态

摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著

文本编辑器vi使用命令的更多相关文章

  1. linux之文本编辑器vi常用命令

    由于经常在linux下面文本操作,所以这里稍微系统的总结一下自己常用的vi命令 1.打开命令: vi+filename  (还有各种打开的姿势,只不过我比较顺手这个) 2.退出命令: :q   退出而 ...

  2. linux使用文本编辑器vi常用命令

    一:翻页 ctrl+u向上翻半页 ctrl+d   向下翻半页 ctrl+f/page up向上翻一页 ctrl+b/page on   向下翻一页 H光标移到当前页的第一个字符 M光标移到当前页的中 ...

  3. 文本编辑器 vi/vim 的使用

    文本编辑器 vi/vim 一.启动与退出 1. vim 2. vim 文件名(可以是存在的文件,也可以是不在的文件) 3.退出 :q   或者:x 在非“插入”模式二.vi/vim的工作模式 1.正常 ...

  4. Linux常用命令汇总及使用方法(二)之文本编辑器VI

    VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...

  5. 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim

    @ 目录 前言 简介 小试牛刀 vi/vim 工作原理及三种模式 常用快捷键 命令行图解 前言 上一篇中已经预告,我们这篇主要说Linux中vi/vim 编辑器.它是我们使用Linux系统不可缺少的工 ...

  6. Linux 文本编辑器vi命令

    1.Vim Vim  是一个功能强大的全屏幕文本编辑器,是 Linux/UNIX 上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim 没有菜单,只有命令 2.Vim 工作模式 3.插入 ...

  7. part1:6-Linux文本编辑器vi

    vi编辑器简介: vi是Linux系统的第一个全屏幕交互式编辑器:vim则是vi的升级版得到广大用户青睐. vim有三种工作模式:命令行模式.插入模式.底行模式 命令行模式常用功能键: yy:复制当前 ...

  8. Linux文本编辑器的常用命令

    Vi文本编辑器 首先介绍命令模式,命令模式是在进入文本编辑器的时候的当前状态:输入模式(插入模式)是在插入文本时候按下的键,比如 大小 i  键,a键.o键:底行模式是在命令模式的状态直接输入冒号 & ...

  9. Linux学习笔记(4)-文本编辑器vi的使用

    vi的三种编辑模式 命令模式(Command mode) 在此模式下可以控制光标的移动,可以删除字符,删除行,还可以对某个段落进行复制和移动 输入模式(Insert mode) 只有在此模式下,可以输 ...

  10. linux下的文本编辑器VI的使用命令

    1. 移动光标 H #移到屏幕的左上角 M #移到屏幕的中间行开头 L #移到屏幕的最后一行 [ #移到文件开始位置 (双击) ] #移到文件结束位置(双击) :n #移到文件的第n行 Ctrl + ...

随机推荐

  1. 程序包xx不存在解决方案:java: 程序包org.aspectj.lang.annotation

    java: 程序包org.aspectj.lang.annotation不存在 #我自己已经配置好pom.xml文件,但是一直报错这个 aspectj 不存在 下面是我的pom.xml配置 可以看出来 ...

  2. Python运维开发之路《模块》

      一.模块 1. 模块初识 模块定义:模块(module),通常也被称为库(lib,library),是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中 ...

  3. PostgreSQL 新手入门指引

    自从MySQL被Oracle收购以后,PostgreSQL 逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作 ...

  4. SpringBoot对接阿里云OSS上传文件以及回调(有坑)

    前言 今天在对接阿里云OSS对象存储, 把这过程记录下来 链接 阿里云的内容很多,文档是真的难找又难懂 本文主要是用的PostObject API 加上 Callback参数 PostObject - ...

  5. Vue两组间通过传值设置另一个组件背景

    vue项目中,从一个组件获取图片url,并为另一个组件设置该图片为背景的盒子 子组件 <template> <div class="intd_content_banner& ...

  6. Int64针对32位架构是按照4字节还是8字节对齐?

    作为构建.NET的标准,CLI Spec(ECMA-335)针对基元类型的对齐规则具有如下的描述.按照这个标准,我们是这么理解的:8字节的数据类型(int64.unsigned int64和float ...

  7. 普通用户启动 supervisor 报 HTTP 错误(strace)

    公司的开发对生产环境都有普通用户 www 的权限,采用堡垒机登录到生产环境的机器. 默认 supervisor 使用 root 用户启动,开发没有权限直接修改配置和操作 supervisor 管理的进 ...

  8. altas2.1.0编译、安装、集成CDH6.3.2

    目录 altas2.1.0编译.安装.集成CDH6.3.2 一: Atlas源码下载 二: Atlas源码编译 1.修改altas项目主pom文件,即需要编译的CDH6.3.2对应版本信息 2.Atl ...

  9. 使用 Habana Gaudi2 加速视觉语言模型 BridgeTower

    在对最先进的视觉语言模型 BridgeTower 进行微调时,使用 Optimum Habana v1.6, Habana Gaudi2 可以达到 近 3 倍于 A100 的速度.硬件加速的数据加载以 ...

  10. [python]从环境变量和配置文件中获取配置参数

    前言 从环境变量和配置文件中获取配置参数,相关库: python-dotenv:第三方库,需要使用pip安装 configparser:标准库 示例代码 test.ini [mysql] host = ...