Vi的用法

1.简介

Vi,是一个文本编辑器,可以执行输出、删除、查找、替换、块操作等众多文本操作,vi不是一个排版程序。不像word或WPS那样可以对字体、格式、段落等属性进行编排,他只是一个文本编辑器。

2.进入vi文本编辑器的方式

方式

说明

vi

进入vi默认模式

vi  filename

打开新建文件filename,并将光标置于第一行

vi +n filename

打开文件filename,并将光标置于n行首

vi + filename

打开文件filename,并将光标置于最后一行。

vi +/pattern  filename

打开文件filename ,并将光标置于第一个与pattern匹配的行。

3.Vi的三种模式

4.命令模式下的操作  a o  i

1)   命令模式下进入输入模式

命令

说明

i

光标所在位置前开始插入文本

I

将光标移至当前行的行首,然后在其插入文本

a

当前光标所在位置之后追加文本。

A

将光标挪到当前行的行尾,从那里开始插入新文本

o

将光标所在行的下面新开一行,并将光标置于该行的行首,输入文本

O

在光标所在行的上面插入一行,并将光标置于该行的行首,等待输入文本

2)   命令模式下的光标定位

命令

说明

G

将光标移至最后一行行首   尾部

gg

将光标移至第一行(首行)    首部

nG

光标移至第n行的行首     直接定位

n+

光标下移n行

n-

光标向上移动n行

n$

光标移至第n行行尾  相对于当前行

0

移动至所在行的行首   绝对行首

$

移到光标所在行的行尾

^

移到光标所在行的第一个字符(非空格)   非空白符

h,j,k,l

左,下,上,右

3)   命令模式下的替换和删除

命令

说明

rc

用字符c替换光标所指向的当前字符

nrc

用字符c替换光标所指向的n个字符

x

删除光标处的字符

nx

删除从光标位置开始向右的n个字符

dw

删除一个单词

ndw

删除n个指定的单词

db

删除光标所在位置之前的单词

ndb

删除所在位置之前的n个单词

dd

删除光标所在整行

ndd

删除n行

dG

删除光标位置到最后一行的所有内容

d1G

删除光标位置到第一行的所有内容

d$

删除光标位置到当前行的末尾的内容

d0

删除光标位置到当前行开始的内容

4)   命令模式下的复制和粘贴

命令

说明

yy

当前行内容复制到缓冲区

nyy

将当前行开始n行内容复制到缓冲区

yG

将当前光标位置到最后一行的所有内容复制到缓冲区

y1G

将当前光标位置到第一行的所有内容复制到缓冲区

y$

将当前光标到当前行尾内容复制到缓冲区

y0

将当前光标位置到当前行开始的内容复制缓冲区

p

将缓冲区的内容写出到光标所在位置

5)   命令模式下的搜索

命令

说明

/str

向下查找

?str

向上查找

n

相同方向移动

N

向反方向移动

6)   命令模式下撤销、重做

命令

说明

u

撤销

Ctrl+r

重做撤销的动作

7)   命令模式下退出vi

命令

说明

ZZ

存盘退出

ZQ

不保存退出

8)   翻屏

命令

说明

Ctrl+f

向下翻

Ctrl+b

向上翻

5.末行模式下的操作

1)   末行模式下退出vi

命令

说明

:q

退出  没有动过文件

:wq

保存并退出

:q!

不保存并退出

:w

保存

:x

保存退出等价于:wq

2)   末行模式下的跳行

命令

说明

:n

直接输入移动的行号

3)   在命令模式下搜索和替换字符串

命令

说明

:/str

向后搜索    n 同方向切换  N 反方向切换

:?str

向前搜索     n 同方向切换  N 反方向切换

:/str/w file

将包含有str行的写到file中    搜索  io读写     写磁盘

:/str1/,/str2/w file

从str1开始到str2结束的内容写入到file文件中

:s/str1/str2/

找到的第一个str1替换为str2  在同一行内替换第一个

:s/str1/str2/g

找到的所有的str1替换为str2   在同一行内替换所有

:n1,n2s/str1/str2/g

从n1行到n2行找到所有的str1替换为str2

:1,.s/str1/str2/g

从第一行到当前位置所有的str1替换为str2

:.,$s/str1/str2/g

从当前位置到结尾所有的str1替换为str2

4)   在命令模式下复制、移动和删除文件行

命令

说明

:n1,n2 co n3

将从n1开始到n2开始为止所有内容复制到n3后面  copy

:n1,n2 m n3

将从n1开始到n2为止的所有内容移动到n3后面

:d

删除当前行

:nd

根据指定的行号删除指定的行

:n1,n2 d

删除从n1开始到n2所有内容

:.,$d

删除从当前行到结尾的所有内容

:0,.d

删除当前行到首行

:/str1/,/str2/d

删除从str1开始到str2为止所有内容

5)   在命令模式下的文件相关命令

命令

说明

:w file

将当前编辑的内容写到file文件中    另存为

:n1,n2 w file

将从n1开始到n2结束的行写入到file中

:nw file

将第n行写入到文件中

:1,.w file

从第一行起到光标当前位置写入到file文件中

:.,$ w file

从当前位子到文件结尾内容写入到file中

:r file

打开另一个文件

:e file

新建file文件

:f file

把当前文件改名为file文件

6)   在命令模式下执行Shell命令

命令

说明

:!cmd

运行Shell命令

:r!cmd

将命令运行的结果写入当前位置

7)   设置vi的环境

命令

说明

:set nu

设置行号

:set nonu

取消行号

:set       readonly

设为只读

Vi 编辑器的更多相关文章

  1. vi编辑器使用

    显示行号 set nu 取消行号 set nonu 定位到某一行 gg 定位到首行 G 定位到最后一行 在VI编辑器中切换调用外部shell命令 :!ifconfig   在编辑过程中,看ip地址 插 ...

  2. vi编辑器命令

    Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.v ...

  3. Linux学习之一--VI编辑器的基本使用

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  4. vi编辑器的常规使用

    1.命令模式(command mode)-执行命令 在该模式中,可以输入命令来执行许多种功能.控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或者到 last l ...

  5. vi编辑器 使用 命令

    vi编辑器 1)命令模式 打开文件后.默认处于命令模式,命令模式无法编辑文件 2)输入模式 在命令模式下 按 i 进入输入模式,便于编辑文件内容 3)末行模式 编辑内容后,按esc进入到命令模式,再按 ...

  6. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  7. 第三天 vi编辑器使用和软件安装

    [复习] 判断题: 查看某文件权限为rwxr-xr-- ,则其所属组权限为只读. 对一个目录有w权限,表示可以修改目录下文件内容. 3..tar.gz格式的压缩包可以使用tar -xjf解压缩 4.m ...

  8. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  9. linux vi编辑器操作手册

    简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...

  10. linux中vi编辑器的使用

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...

随机推荐

  1. java中常用的String方法

    1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.length); 输出的结果是字符串长度10. 2 ...

  2. gvim 编辑器配置

    "关才兼容模式 set nocompatible "模仿快捷键,如:ctrt+A 全选.Ctrl+C复制. Ctrl+V 粘贴等 source $VIMRUNTIME/vimrc_ ...

  3. 洛谷P1940买蛋糕

    题目传送门 题意:给定你一个数n,要求用最小个数的整数组成小于等于n的所有整数,并求出方案数. 很明显,擅长二进制的大犇们肯定一眼就看得出方案数是log2(n)+1,然而我并不擅长,但是推了一小会儿也 ...

  4. 如何去除windows下文本的^M

    使用vi编辑,输入命令: :%s/^M/\r/g 用来把^M换成回车 注意的是^M要使用CTRL-V CTRL-M生成,而不是直接键入^M

  5. python strip() 函数和 split() 函数的详解及实例

    strip是删除的意思:split则是分割的意思.strip可以删除字符串的某些字符,split则是根据规定的字符将字符串进行分割. 1.Python strip()函数 介绍 函数原型 声明:s为字 ...

  6. BZOJ 1106 [POI2007]立方体大作战tet(树状数组)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1106 [题目大意] 给定玩家一个有2n个元素的栈,元素一个叠一个地放置. 这些元素拥有 ...

  7. javaWeb中的JDBC学习入门

    学习引荐地址:https://www.cnblogs.com/xdp-gacl/p/3946207.html 一.JDBC的相关概念介绍 1.1 数据库驱动 其实就好比我们平时使用到的独立声卡.网卡之 ...

  8. wince5.0 plat form builder下载

    学习嵌入式开发的朋友都知道,嵌入式开发主要用到2个软件一个是Platform Builder for Windows CE 5.0一个是VS.NET2005,其中VS.NET2005网上很容易下载,现 ...

  9. Android内存优化10 内存泄漏常见情况1 静态泄漏

    1,内存泄漏到本质是该释放的对象被持久化的对象引用了,造成持久化的常见情况有1,静态持久化 2,线程持久化 线程持久化 因为存活的线程是有dvk虚拟久直接持有,所以存活的线程都是持久化的 内存泄漏1: ...

  10. mysql-operator 尝试与研究

    安装指南 先下载到本地 git clone https://github.com/kubernetes/charts.git 安装helm 参考: http://www.cnblogs.com/eri ...