Linux vi 命令详解
vi共分为三种模式:分别是一般模式,编辑模式与命令行模式
一般模式:以vi打开一个文件就直接了一般模式(这是默认的模式)
编辑模式:在指令模式下输入的按键“i, I, o, O, a, A, r, R”,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处于什么模式,可以多按几次[ESC],vi跳转到指令模式。
1. 命令模式:
) 光标移至句尾
( 光标移至句首
} 光标移至段落开头
{ 光标移至段落结尾
2. vi移动光标的方法:
G:移动到这个文件的最后一行(常用)
nG:n为数字。移动到这个文件的第n行。
gg:光标移动到第一行,相当于1G
N[enter]:n为数字。光标向下移动n行
N+[方向键上,下,左,右]:表示向那个方向移动行或字符 到文件第一行
:1
到文件尾,利用正则里的语义
:$ 另一些表达
[[ 开头
]] 结尾
[[^ 开头第一个字符
]]$ 结尾最后一个字符
3.vi查找与替换
/word 向下寻找一个名称word的字符
?word 向上寻找一个字符串名称为word的字符串
n: 这个n是英文键,代表重复前一个查找的操作。也就是查找下一个
N: 这个N是英文键,与n刚好相反,为反向进行前一个查找操作。查找上一个
vi高级查找与替换
:n1,n2s/word1/word2/g n1与n2为数字,在第n1行与n2行之间寻找word1,并将该字符串替换成word2
:1,$s/word1/word2/g 从第一行到最后一行查找word1,并将该字符串替换成word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1,并将该字符串替换成word2。替换之前显示提示字符给用户确认confirm
4. vi显示行号/取消显示
显示行号
:set nu 取消行号显示
:set nonu
5. vi删除命令
dd: 删除光标所在的哪一行(常用)
ndd: n为数字。删除光标所在的向下n行,例如20dd删除光标以下20行(常用)
d1G:删除光标所在到第一行的所有数据
dG: 删除冲贯标所在到最后一行的所有数据
d$: 删除光标所在到第一行的所有数据
d0: 那个数字的0,删除冲光标所在处到改行的最前面的一个字符
x或X:删除一个字符,x删除光标后的,而X删除光标前的
6. vi复制命令
yy: 复制光标所在的那一行(常用)
nyy:n为数字,复制光标所在的向下n行,例如20yy
y1G:复制光标所在行到第一行的所有数据
yG: 复制光标所在行到最后一行的所有数据
y0: 复制光标所在的那个子都到该行行首的所有数据
y$:复制光标所在的那个字符到该行行尾的所有数据
7. vi黏贴命令
p: p为将已复制的数据在光标下一行黏贴
P: 大写P则为黏贴在光标上一行
8. vi撤销命令:
u: 撤销 (常用)
Ctrl + r: 撤销的撤销 (常用)
9. vi小数点.
vi小数点.表示重复前一个操作的意思。重复删除,重复黏贴等操作,按下小数点"."
10.vim 的块选择功能(Visual Block)
v 字符选择,会将光标经过的地方反白选择
V 行选择,会将光标经过的行反白选择
[ctrl]+v 块选择,可以用长方形的方式选择数据
配合命令:
y 将反白的地方复制起来
d 将反白的地方删除
11. vim 多窗口功能
:sp [filename] 打开新窗口,如果有家filename,表示在新窗口打开一个新文件
[ctrl]+w 按住ctrl按键,按一下w键,会切换一个文档,再按一下切换下一个(貌似方向键没有用)
Linux vi 命令详解的更多相关文章
- Linux——vi命令详解
转载 Linux--vi命令详解 原文链接:https://blog.csdn.net/cyl101816/article/details/82026678 vi编辑器是所有Unix及Linux系 ...
- 转载:linux vi命令详解
转自:http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编 ...
- linux vi命令详解
刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...
- linux vi命令详解2
刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...
- linux vi命令详解及使用技巧
进入vi的命令vi filename :打开或新建文档,并将光标置于第一行首vi +n filename :打开文档,并将光标置于第n行首vi + filename :打开文档,并将光标置于最后一行首 ...
- Linux lsof命令详解和使用示例【转】
所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接 ...
- (转)linux route命令详解
linux route命令详解 原文:https://www.cnblogs.com/lpfuture/p/5857738.html && http://blog.csdn.n ...
- [转帖]linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令
linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen ...
- Linux常用命令详解—基于CentOS7
## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...
随机推荐
- .NET Core 2.0及.NET Standard 2.0
.NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q ...
- List分组 用于客服对话分组场景
工作用可能会用到会话分组: Message是消息实体对象,里面有toId和fromId 指明接收方ID和发送方Id,通过组合形式"12-22-" 为map的key public M ...
- 利用callKit实现电话防骚扰
callKit框架是ios10之后更新的一个框架,代替了原来的CoreTelephony.framework,使用CallKit可以实现电话的拦截 首先创建一个项目之后,创建一个target,选择Ca ...
- Python数据结构与循环语句
# Python数据结构与循环语句: 首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟. 关于买书: 学会python之后,才需要买书 ...
- WebStorm 2017 最新版激活方式
注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址:http://idea.iteblog.com/key.php 原文:https ...
- eNSP自学入门(基础)
写了上篇博客之后,就立即投入到了eNSP的怀抱之中了,自己从零基础,入门到现在.也学了不少东西,在这里和大家分享一下. 说一下学习的过程吧,老师说做网络工程的课程设计用eNSP,关于这个软件什么都没有 ...
- 【翻译】FreeMarker——入门
原文传送门 1. Template + data-model = output data-model是一个树状模型,通常是一个java对象. 2.data-model 入门 hashes(散列):目录 ...
- hdu1281二分图匹配
小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的"车",并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放, ...
- 最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二
写第一篇博客<手把手教做单点登录(SSO)系列之一:概述与示例>,就获得了园子里朋友们热情的评论和推荐,感谢各位. 我那篇文章同时发了CSDN和博客园.对比一下,更感受到博客园童鞋们的技术 ...
- python3 selenium 登录操作
使用场景: 测试过程中,有的时候需要登录才可以进行其他操作 举例说明: # coding=utf-8 """ :author: 花花测试 :time: 2017.05.0 ...