Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作
Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式。3种模式彼此需要切换。
一、进入 Vi 编辑器的的命令
vi filename //打开或新建文件,并将光标置于第一行首
vi +n filename //打开文件,并将光标置于第n行首
vi + filename //打开文件,并将光标置于最后一行首
vi +/pattern filename //打开文件,并将光标置于第一个与 pattern 匹配处
vi -r filename //在上次使用 vi 编辑时发生系统崩溃,恢复 filename
二、Vi 3种模式的切换
一)、从命令模式到编辑模式
在命令模式下按以下命令将进入到编辑模式
1、a 在光标后进入编辑模式
2、i 在光标前进入编辑模式
3、A 在当前行尾进入编辑模式
4、I 在当前行首进入编辑模式
5、o 在当前行之下新开一行
6、O 在当前行之上新开一行
7、s 删除光标所对应的字符,进入编辑模式
8、ns //删除 n 个字符后进入编辑模式
9、S 删除光标所在的行,然后进入编辑模式
10、nS //删除 n 行后,进入编辑模式
三、命令模式下的操作
一)、光标的移动
1、j 光标向下移动一行
2、k 光标向上移动一行
3、h 光标向左移动一个字符
4、l 光标向右移动一个字符
5、ctrl + b //光标向上移动一屏,向后翻页
6、ctrl + f //光标向下移动一屏,向前翻页
7、$ //光标移动至行尾
8、0(数字) //光标移动至行首
9、gg //光标移动至文档开始处
10、G //光标移动至文档尾部
11、nG //光标移动到第 n 行
12、w //移动到下个单词的首字母
13、b //移动到本单词或者上个单词的首字母
14、e //移动到本单词或者下个单词的尾字母
15、{ //光标移动到段落首部
16、} //光标移动到段落尾部
17、L //光标移动到当前屏幕尾部(不会走到下一屏)
18、H //光标移动到当前屏幕首部
19、M //光标移动至当前屏幕中间行
20、space //光标向前移动一个字符
21、Backspace //光标向后移动一个字符
22、n+ //光标下移 n 行
23、n- //光标上移 n 行
24、n$ //光标移动至第 n 行尾
二)、文本内容的删除
1、x //删除光标所在位置的一个字符
2、nx //删除光标所在位置起 n个字符
3、dx //从当前字符删除到下个单词前,包括空格
4、ndx //从当前字符(单词)起,删除n个单词,包括最后一个空格后面的空格
5、dd //删除当前行
6、ndd //删除当前行起向下 n 行
7、J //删除光标所在行与下一行之间的空格,把光标行和下一行接在一起
通用删除:d+光标移动距离
8、d$ //删除光标到行尾的内容
9、d0 //删除光标到行首的内容
10、d} //删除从光标到段落尾部的内容
11、d{ //删除从光标到段落首部的内容
12、dL //删除当前行至屏幕尾部的内容
13、dH //删除当前行至屏幕首部的内容
14、dG //删除当前行至文档尾部的内容
15、d1G //删除当前行至文档首部的内容
16、dnG //删除当前行至文档的第 n 行
三)、文本内容的复制与粘帖
1、yy 复制当前行
2、nyy 复制从当前行开始向下的n行
3、y+光标移动的距离,可以进行灵活复制 (可以参考删除命令)
3、p 在光标之后粘贴(光标当前行的下一行进行粘贴)
4、P(大写) 在光标之前粘贴
三)、其他命令模式下的操作
1、u //撤销修改或删除操作
2、r+字符 //对光标当前单个字符进行替换
3、R //替换当前字符及其后的字符,直至按 ESC 键
3、. //重复执行上个命令
四、尾行模式下的操作
一)、文件的保存与退出
1、:w //保存
2、:w filename //另存为到 filename 文件
3、:wq //保存退出
4、:q //退出
5、:wq! //强制保存退出
6、:q! //不保存强制退出
7、:x //保存并退出 ,应该和 wq! 功能一样
二)、查找与替换
1)、/search 正向查找字符串 search,按 n 键查找下一个,按 N 键查找上一个
2)、?search 反向查找字符串 search
3)、s /search/replace 替换当前行首次出现的 search
4)、s /search/replace/g 把当前光标所在行中的 search 替换成 replace,并把文档中其余的 search 高亮显示
5)、%s /search/replace 把文档中所有的 search 替换成 replace
6)、m,n s /search/replace/g 把文档中从第m行到第n行中的 search 替换成 replace ,将把文档中其余的 search 高亮显示
三)、尾行模式下的文本编辑(复制,删除)
1)、n1,n2 co n3 //将 n1 行到 n2 行的内容复制到 n3 行下
2)、n1,n2 m n3 //将 n1 行到 n2 行的内容移动至 n3 行下
3)、n1,n2 d //将 n1 行到 n2 行之间的内容删除
:set nu/number //给文件每行内容设置编号
:set nonu/nonumber //取消设置编号
:n 光标跳转到第 n 行位置
五、编辑模式下的操作
1、ctrl+u //删除编辑模式下输入的文本内容
Linux 中 Vi 编辑器的简单操作的更多相关文章
- Linux中vi编辑器的使用详解
vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...
- linux中vi编辑器的使用
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...
- linux中vi编辑器
vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系 统中的文本编辑程序.它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户 ...
- linux中vi编辑器(转载)
三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入“i ”进入输入模式: 末行模式:按“:”进入末行模式: 在输入模式切换至末行模式 ...
- Linux中vi编辑器的用法
实验一: vi编辑器的模式切换 1. 实验目标:熟练掌握vi编辑器的三种模式间切换及其特点 2. 实验操作步骤: 步骤一: 进入vi编辑器即命令模式 进入vi编辑器可以在命令终 ...
- linux中VI编辑器使用个人记录
VI编辑器有三种编辑模式:命令模式.最后行模式.文本编辑模式 启动VI后进入的第一种模式是”命令模式“.从命令模式可进入最后行模式和编辑模式.而后两种模式之间不能直接切换.必须按ESC键退回到命令模式 ...
- linux中vi编辑器没有颜色
vi是没有颜色的,vim是有颜色的.可是系统中没有安装vim. 我们可以通过 rpm -qa |grep vim 看看系统中是否安装了下面3个rpm包,如果有就是安装了vim. 点击(此处)折叠或打开 ...
- linux中Vi编辑器使用
1.如需要编辑aaa.txt文件: vi aaa.txt 就可以进入到 aaa.txt文件中, 输入 i 进入到编辑模式, 按 Esc 退出编辑模式 , :wq 保存退出编辑模式 ...
- Linux下vi编辑器粘贴复制剪切功能
RedHat 9.0 Linux下vi编辑器实现简单的粘贴复制剪切功能": 如果想把文件内的第三行内容黏贴到第十五行: 1.进入你的文件,(处于命令模式,而不是编辑模式) 2.将你的光标移到 ...
随机推荐
- android 程序代码执行adb
Runtime.getRuntime().exec("adb pull /dev/graphics/fb0 C:/fb1"); Runtime. getRuntime().exec ...
- java.map使用
Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部 ...
- 嵌套 QQ、微博 通讯工具到HTML中
自己QQ.微博的实例: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defa ...
- struts2原理理解
1. 由容器创建HttpServletRequest请求,这个请求经过一系列的过滤器,最终到struts2的核心过滤器(FilterDispatch), 2. 核心过滤器会根据url请求获得Act ...
- Linux进阶文件系统管理之RAID
RAID 1.引言 RAID全称Redundant Arrays of Inexpensive Disks / Redundant Arrays of Independent Disks,即独立冗余磁 ...
- Bash注释
1)单行注释: #!/bin/bash #echo "Martin" echo "Martin" #echo "Martin" 2)多行注释 ...
- 11.用C对32位内存地址的访问方式
使用一个32位处理器,要对一个32位的内存地址进行访问,可以这样定义 #define RAM_ADDR (*(volatile unsigned long *)0x0000555F) ...
- SQL Server 2012 AlwaysOn 亲身实历记
亲身经历的一个项目,老板忽然提出,对数据库的负债要实施分流,来个数据库一个负责读,而另一个负责写,后台是需要同步两个数据库的状态.找了很多的资料,发现新版的alwayson可以实现这个功能. 研读了a ...
- 自定义浏览器协议,实现web程序调用本地程序
转自 http://blog.csdn.net/talking12391239/article/details/40712759 亲测可用 tencent://Message/?Uin=000000 ...
- Host基本概念
TSO TSO是Time Sharing Option的缩写,是MVS的命令输入处理器. TSO是在操作系统的管理下,用来支持ISPF菜单式会话系统和资源管理设备( ...