史上最全的linuxvi命令的总结
第8章 linux编辑文件内容命令
8.1 vi命令
8.1.1 快速移动光标技巧
|
ID |
快捷键 |
快捷键说明 |
|
1 |
G |
将光标快速移动到最后一行 |
|
2 |
gg |
将光标快速移动到行首 |
|
3 |
nG |
将光标快速移动到指定行 |
|
4 |
Shift+$ |
将光标快速切换到行尾 |
|
5 |
Shift+^ |
将光标快速切换到行首 |
8.1.2 快速移动光标并且进入编辑状态
|
ID |
快捷键 |
快捷键说明 |
|
1 |
o |
将光标在当前行的下面新起一行,并且进入编辑状态 |
|
2 |
O |
将光标在当前行的上面新起一行,并且进入编辑状态 |
|
3 |
i |
光标位置直接编辑 |
|
4 |
I |
将光标切换到行首,并且进入编辑状态 |
|
5 |
A |
将光标切换到行尾,并且进入编辑状态 |
|
6 |
a |
在光标当前的位置下一个字符进行编辑状态 |
|
7 |
Shit +c |
将光标所在位置右边的字符全部删除,并且进入编辑状态 |
|
8 |
cc |
将光标所在的行内容清空,并且进入编辑状态 |
8.1.3 快速编辑文件内容信息
|
ID |
快捷键 |
快捷键说明 |
|
1 |
yy |
复制指定内容信息 |
|
2 |
nyy |
复制多行信息 |
|
3 |
p |
粘贴复制或者剪切信息 |
|
4 |
3p |
将复制或者剪切的内容粘贴3次 |
|
5 |
dd |
(删除)剪切指定行信息 |
|
6 |
ndd |
(删除)剪切多行信息 |
|
7 |
dG |
将光标所在行之后的所有内容进行删除 |
|
8 |
r |
替换指定光标所在位置的字符信息 |
|
9 |
R |
进入到替换模式,可以替换多个字符信息 |
8.1.4 底行功能指令
|
ID |
快捷键 |
快捷键说明 |
|
1 |
set nu |
显示文件行号信息 |
|
2 |
set nonu |
取消显示文件行号信息 |
|
3 |
:s#a#b# |
替换光标所在位置的信息 |
|
4 |
:%s#a#b# |
替换文件中所有指定内容的第一行信息 |
|
5 |
:m,n:#a#b# |
将指定行信息做替换修改 |
|
6 |
:m,$s#a#b# |
将指定行到最后一行指定内容进行替换 |
|
7 |
:s/oldboy/oldgirl/g |
将一行中检索到匹配的所有信息都做替换 |
|
8 |
/需要查找的内容 |
在文件中检索过滤指定信息 |
|
9 |
N/n |
查找上/下一个匹配的信息 |
|
10 |
/需要查找的内容\c :set ic输入以后可以进行忽略大小写 :set noic:输入以后再次不忽略大小写 |
文件信息检索的时候忽略大小写 |
|
11 |
:set hlsearch |
高亮 |
|
12 |
:set nohlsearch |
取消高亮 |
|
13 |
:%s/#/^/g |
|
|
14 |
:n,mcopyW |
将n到m行的内容复制到W行 |
|
15 |
:n,mmoveW |
将n到m行的内容剪切到W行 |
|
16 |
:help 命令 |
vi查看命令的帮助手册 |
8.1.5 特殊操作技巧
|
ID |
快捷键 |
快捷键说明 |
|
1 |
u |
撤销上次修改的内容(不能将信息进行保存) |
|
2 |
ctrl +r |
再次将撤销的消息在进行还原()不能将信息进行保存 |
|
3 |
多行注释 |
先按ctrl+v进入可视化模式,选中要注释的内容, 在按大写I键进入插入模式,输入#号,在按esc 则多行注释 |
|
4 |
:help+命令 |
可以查看vim的帮助手册 |
8.1.6 快速翻页
|
ID |
快捷键 |
快捷键说明 |
|
1 |
ctrl+f |
向下翻页 |
|
2 |
ctrl+b |
向上翻页 |
8.1.7 命令模式,底行模式,编辑模式的联系
vi--à命令模式----insert--à编辑模式--escà命令模式-----shift+(:)à底行模式
8.1.8 vi命令常见的错误
1.只能编辑文件,不能编辑目录
2.编辑的文件上级目录一定要存在
3.编辑文件的时候不能使用中文特殊符号

8.1.9 vi命令的工作方式
8.1.9.1 vi常见的错误
E325: ATTENTION
Found a swap file by the name ".1.txt.swp"
owned by: root dated: Thu Sep 5 19:15:04 2019
file name: /1.txt
modified: YES
user name: root host name: oldboyedu.com
process ID: 7820
While opening file "1.txt"
dated: Thu Sep 5 19:14:47 2019
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(1).另一个可能编辑的文件是一样的,如果是这样的话,小心不要最后将2个不同的事迹一样的时候进行改变,退出或者继续,提醒
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r 1.txt"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".1.txt.swp"
to avoid this message.
(2).一个被修改的文件,如果这是个情况,请用"recover"或者"vim -r 1.txt"去覆盖这个改变(看下帮助"recovery).如果你已经做了前面的操作,删除这个swap文件"1.txt.swp"去避免这个消息
Swap file ".1.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
问题的原因:
- (1).同时2个人编辑一个文件
- (2).这个文件被修改了,但是没有正常保存进行退出,产生了swp文件
解决办法:
- (1).多人关闭编辑文件
- (2).使用vi -r 1.txt文件,将文件恢复,并且保存,在已经正常的情况下,将swp文件数据删除
- (3) 使用vim特殊功能,先使用R进入恢复模式,强制保存退出,再次进入发现还是有swp文件,这时候使用D建删除,在保存退出,再打开就不会提示了
8.1.9.2 vi打开的过程

史上最全的linuxvi命令的总结的更多相关文章
- 【Vim命令大全】史上最全的Vim命令
曾经使用了两年多的Vim,手册也翻过一遍.虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享. 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器. 虽然 ...
- 史上最全log4j2远程命令执行漏洞汇总报告
已投稿信安之路公众号,文章链接
- [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结
在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- .Net魔法堂:史上最全的ActiveX开发教程——发布篇
一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程——开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包 C#开发的Activ ...
- 史上最全的 Java 新手问题汇总
史上最全的 Java 新手问题汇总 Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在. 有超过30亿 ...
- 吐血总结|史上最全的MySQL学习资料!!
在日常工作与学习中,无论是开发.运维.还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一.在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL. 在刚刚出 ...
随机推荐
- SpringBoot 整合jdbc和mybatis
摘要 该文章主要为记录如何在SpringBoot项目中整合JDBC和MyBatis,在整合中我会使用简单的用法和测试用例,毕竟该文章目的是为了整合,而不是教大家如何去使用.希望大家多多包涵. 通用配置 ...
- W与V模型的联系与区别
很多小白一定要注意: 看准那个是开发的工作哪个是测试的工作,不要弄混了!!! 软件测试的V模型 以“编码”为黄金分割线,将整个过程分为开发和测试,并且开发和测试之间是串行的关系 ...
- 通过 position:fixed 实现底部导航
通过 position:fixed 实现底部导航 HTML <div id="footer">页脚</div> CSS #footer { clear: b ...
- Java编程思想——第14章 类型信息(二)反射
六.反射:运行时的类信息 我们已经知道了,在编译时,编译器必须知道所有要通过RTTI来处理的类.而反射提供了一种机制——用来检查可用的方法,并返回方法名.区别就在于RTTI是处理已知类的,而反射用于处 ...
- 理解MySQL数据库事务-隔离性
Transaction事务是指一个逻辑单元,执行一系列操作的SQL语句. 事务中一组的SQL语句,要么全部执行,要么全部回退.在Oracle数据库中有个名字,叫做transaction ID 在关系型 ...
- byteCTF 2019
本文作者:z3r0yu 由“合天智汇”公众号首发,未经允许,禁止转载! 0x00 前言 周末的比赛质量还是挺高的,特别是boring_code,有点烧脑但是做的就很开心. 0x01 boring_c ...
- Openlayers ol.interaction.Select取消默认选中效果
说明: 在使用ol.interaction.Select进行点击查询时,默认会把点击选中的要素显示在地图上 我的需求是做轨迹回放,并可以点击轨迹上某一点,进行查询.这时候如果重新播放轨迹,会发现这个选 ...
- 2019-10-28:渗透测试学习,sqlmap的使用,笔记
sqlmap工具的使用sql注入工具,明小子,啊D,萝卜头,穿山甲,sqlmap等开源自动化注入利用工具,支持的数据库有12种,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中是最好 ...
- Stream系列(五)Min Max Average方法使用
最小值,最大值,平均值 EmployeeTestCase.java package com.example.demo; import lombok.Data; import lombok.ToStri ...
- JVM学习笔记(1)--运行时数据区域
运行时数据区域 相对于c,c++.程序设计时,java并不需要手动释放或者创建内存用于存放程序,这的确使得java开发变得容易和轻松,一旦有一天出现了内存泄漏或者内存溢出的问题,如果不了解JVM虚拟机 ...