Linux里vi介绍
来源:互联网 发布:linux 目录覆盖 编辑:程序博客网 时间:2024/06/05 00:27
一: VI介绍
1.1 简单介绍
Vi是linux系统里的文本编译器。Vi主要有两种状态,命令模式和编辑模式。
命令模式:通过vi命令打开文件后默认就会命令模式。改米模式下可以控制光标的移动,替换字符串等。
编辑模式:针对文件的增删改查的操作。
末行模式:执行待定命令。例如保存,退出。
当前是那种模式,看下vi编辑器界面下方有没有insert,有就是编辑模式,没有就是命令模式。
(命令模式)
(编辑模式)
(命令模式)
1.2 三模式切换
二:vi常见的操作
2.1vi的打开文件
命令
意义
vi filename
打开文件,光标置于第一行
vi +n filename
打开文件,光标置于第n行
vi + filename
打开文件,光标置于最后一行
vi +/patter filename
打开文件,光标置于第一个匹配Pattern的串处
vi filename … filename
依次打开多个文件
2.2vi的追加内容
参数
意义
i
在光标之前插入
I
在光标所在行的行首插入
a
在光标之后追加
A
在光标所在的行位追加
o
在光标所在行的下边插入一行
O
在光标所在行的上边插入一行
2.3 删除内容
要执行删除模式,需要保持在命令模式才可。
命令
意义
x
删除光标所在位置的一个字母
*x
删除多个字符,*代表数字
dw
删除光标所在位置之后的一个单词
*dw
删除光标之后的多个单词,*代表数字
dd
删除光标所在的行
*dd
删除多行,*代表数字
d$
删除光标到行尾的内容
2.4 内容替换
切换到命令模式下
命令
意义
:s/***/###
替换当前行第一个***为###
:s/***/###/g
替换当前行所有***为###
:n,$s/***/###
把从第n行开始到最后一行里每行里第一个***替换为###
:n,$s/***/###/g
把从第n行开始到最后一行里所有***替换为###
2.5 光标移动
切换到命令模式下
命令
意义
h
光标向左移动一个位置
j
光标向下左移动一个位置
k
光标向上移动一个位置
l
光标向右移动一个位置
四个方向键
也可对应操作光标
0
移动到当前行的开头
e
光标跳到下个word的结尾
w
光标跳到下个word的开头
b
光标回到上个word的开头
$
光标移动到所在行的行尾
:#
光标移动到第#行,#代表数字
n+
光标向下移动n行
n-
光标向上移动n行
H
光标移动到屏幕顶行
M
光标移动到屏幕中间行
L
光标移动到屏幕最后行
2.6搜索命令
命令模式下执行下列操作
命令
意义
/***
在内容里搜索***的内容
n
跳转到下一个***的内容出
N
跳转到上一个***的内容出
2.7 文件的保存
末行模式下执行以下操作。[命令模式下按下:就切换到末行模式下]
命令
意义
w
保存文件不退出vi
w file
文件另存到file中,不退出vi
w!
强制保存,不退出vi
wq
保持文件并退出
wq!
强制保存文件并退出
q
不保存文件退出vi
q!
不保存文件强制退出vi
e!
放弃所有修改,从上次保持的文件处在编辑
- Linux里vi介绍
- Linux vi 编辑器介绍
- Linux 如何在 vi 里搜索关键字
- Linux 如何在 vi 里搜索关键字
- Linux 如何在 vi 里搜索关键字
- Linux编辑器vi使用方法详细介绍
- linux vi命令介绍及示例
- Linux操作系统下VI编辑器常用命令介绍
- 介绍linux下vi命令的使用
- Linux编辑器vi使用方法详细介绍
- Linux操作系统下VI编辑器常用命令介绍
- Linux编辑器vi使用方法详细介绍
- Linux操作系统下VI编辑器常用命令介绍
- 介绍linux下vi命令的使用
- Linux编辑器vi使用方法详细介绍
- Linux编辑器vi使用方法详细介绍
- Linux操作系统下VI编辑器常用命令介绍
- Linux编辑器vi使用方法详细介绍
- codeforces 732F (桥)
- 常用SharedPreferences工具编写
- C语言代码6(判断两数组有无共同元素)
- setInterval(fn,delay)的工作原理以及小特点
- Android学习——跑马灯效果的实现
- Linux里vi介绍
- Spring MVC Rest Json,XML多视图解析 配置
- 《初入linux》--第十部分-设备使用与时间同步
- 练习 10.16
- iOS事件机制
- 20161018
- 【MATLAB】离散傅里叶变换DTFT和IDTFT
- 如何用export修改环境变量 以及 PATH与$PATH的区别
- 在lpc1788中使用reinvoke isp功能