文档章节

Linux 下vi命令大全

iamjianhua
 iamjianhua
发布于 2014/07/13 10:48
字数 1258
阅读 21
收藏 0
点赞 0
评论 0

进入vi的命令

vi filename:打开或新建文件,并将光标置于第一行首;

vi +n filename:打开文件,并将光标置于第n行首;

vi + filename:打开文件,并将光标置于最后一行首;

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处;

vi -r filename:在上次正用vi编辑时发生系统崩溃,恢复filename;

vi filename......filename:打开多个文件,一次进行编辑;

移动光标命令

h或Backspace:光标左移一个字符;

l或space:光标右移一个字符;

k或Ctrl+p:光标上移一行;

j或Ctrl+n:光标下移一行;

Enter:光标下移一行至行首;

w或W:光标右移一个字至字首;

b或B:光标左移一个字至字首;

e或E光标右移一个字至字尾;

):光标移至句尾;

(:光标移至句首;

}:光标移至段落开头;

{:光标移至段落结尾;

nG:光标移至第n行首;

n+:光标下移n行;

n-:光标上移n行;

n$:光标移至第n行尾;

H:光标移至屏幕顶行;

M:光标移至屏幕中间行;

L:光标移至屏幕最后行;

0:(注意是数字零)光标移至当前行首;

$:光标移至当前行尾;

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏;

Ctrl+d:向文件尾翻半屏;

Ctrl+f:想文件尾翻一屏;

Ctrl+b:向文件首翻一屏;

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部;

插入文本命令

i:在光标前;

I:在当前行首;

a:光标后;

A:在当前行尾;

o:在当前行之下新开一行;

O:在当前行之上新开一行;

r:替换当前字符;

R:替换当前字符及其后的字符,直至按ESC键;

s:从当前光标位置处开始,以输入的文本替代指定数目的字符;

S:删除指定数目的行,并以所输入文本代替之;

ncw或nCW:修改指定数目的字;

nCC:修改指定数目的行;

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字;

d0:删至行首;

d$:删至行尾;

ndd:删除当前行及其后n-1行;

x或X:删除一个字符,x删除光标后的,而X删除光标前的;

Ctrl+u:删除输入方式下所输入的文本;

搜索及替换命令

/pattern:

从光标处开始向文件尾搜索pattern;

?pattern:从光标处开始向文件首搜索pattern;

n:在同一方向上重复上一次搜索命令;

N:在反方向上重复上一次搜索命令;

:s/p1/p2/g:将当前行中所有p1均用p2替代;

:n1,n2s/p1/p1/g:将第n1至n2行中所有p1均用p2替代;

:g/p1/s//p2/g:将文件中所有p1均用p2替换;

选项设置:set 选项

all:列出所有选项设置情况;

term:设置终端类型;

ignorance:在搜索中忽略大小写;

list:显示制表位(Ctrl+I)和行尾标志($);

number:显示行号;

report:显示有面向行的命令修改过的数目;

terse:显示简短的警告信息;

warn:在转到别的文件时若没保存当前文件则显示NO write信息;

nomagic:允许在搜索模式中,使用前面不带”\“的reshuffle字符;

nowrapscan:禁止vi在搜索岛达文件两端时,又从另一端开始;

mesg:允许vi显示其他用户用write写到自己终端上的信息;

最后行方式命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下;

:ni,n2 m n3:将n1行到n2行之间的内容移至到第n3行下;

n1,n2 d:将n1行到n2行之间的内容删除;

:w:保存当前文件:

:e filename:打开文件filename进行编辑;

:x:保存当前文件并退出;

:q:退出vi;

:q!:不保存文件并退出vi;

:!command:执行shell命令command;

:n1,n2 w!commond:将文件中n1行至n2行的内容作为command的出入并执行,若不指定n1,n2.则表示将整个文件内容作为command的输入;

:r!command:将命令command的输出结果放到当前行;

寄存器操作

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字  
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字  
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字  
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字  
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。


© 著作权归作者所有

共有 人打赏支持
iamjianhua
粉丝 0
博文 4
码字总数 2284
作品 0
大兴
技术主管
软件测试人员在工作中如何运用Linux

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你...

软件测试网 ⋅ 04/23 ⋅ 0

从0到1导出Linux下的MySQL中含有中文数据的文件(not complete)

注明版本号:[object Object] 这是刚安装完的时候的样子: 首先解决securefilepriv的问题: 由于文件是只读的,所以只能在root模式下来改。使用vi命令编辑mysqld.cnf: 在文件结尾加上这一行...

AKSPD2016 ⋅ 05/10 ⋅ 0

vim 命令大全 / vi 命令大全

vim 命令作为linux系统下使用最多的文本编辑器,功能十分强大,里面包含了操作文本的各种命令。本文收集了在linux系统下的 最常用的 vim 命令大全 /vi 命令大全。 vim 命令大全 光标控制命令...

LEAN_IN ⋅ 2015/01/27 ⋅ 0

11 个超棒的 Vi 技巧和窍门

是否你刚刚接触 Vi 还是想进阶,这些技巧可以很快让你成为高级用户。 Vi 编辑器是 Unix 和像 Linux 这样的类 Unix 系统中 Linux 最流行的编辑器之一。无论您是 vi 新手还是想进阶,这里有 11...

作者: Archit Modi ⋅ 04/18 ⋅ 0

Linux系统安装网络配置及远程连接知识点小结

基础知识课后题 远程连接Linux服务器,需要Linux服务器开启sshd服务,那么sshd服务默认监听哪个端口?这个端口是否可以自定义呢 ?如果可以,如何自定义呢? 2.常用的远程连接Linux的终端工具...

蛋黄哥 ⋅ 2017/08/24 ⋅ 0

学着学着Linux系统写篇心得

本学期对于linux系统的学习,和自己买的一本《linux就该这么学》这本书,让我对linux有了一定的了解。我知道了linux只是个内核。现在的linux操作系统,都是用这么一个内核,加上其它的应用程...

linuxprobe16 ⋅ 06/03 ⋅ 0

Linux通配符与特殊符号知识大全汇总

内容来源《跟老男孩学习Linux运维:核心基础实战》,预计于2018年7月出版,敬请期待,QQ群385168604交流。 Linux菜鸟及新手的福音,相当于是鸟哥私房菜(太老旧了)的2018最新企业级实战升级版...

老男孩oldboy ⋅ 05/10 ⋅ 0

sh脚本异常:/bin/sh^M:bad interpreter

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统...

洛水 ⋅ 06/20 ⋅ 0

PHP curl 扩展库安装(Windows && Linux下)

下面给大家分享 Windows下与Linux(CentOS6.5)下 curl扩展库的安装 Windows: 进入PHP主文件夹 找到 php.ini-development 或 php.int-production 这两个文件(PS:这里说明一下,两者区别在于...

我只爱庄宝贝 ⋅ 05/16 ⋅ 1

Ubuntu vi 命令大全

最近在使用ubuntu,已经很少进入windows平台了。在linux下,要编辑文件或者其他的文本文件,哪那么一个ubuntu linux下的强大的文本编辑工具就不得不提了,那就是VI编辑器。下面把VI常用到的命...

Dicky ⋅ 2011/10/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 50分钟前 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

如何将S/4HANA系统存储的图片文件用Java程序保存到本地

我在S/4HANA的事务码MM02里为Material维护图片文件作为附件: 通过如下简单的ABAP代码即可将图片文件的二进制内容读取出来: REPORT zgos_api.DATA ls_appl_object TYPE gos_s_obj.DA...

JerryWang_SAP ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

导读 人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云...

问题终结者 ⋅ 今天 ⋅ 0

637. Average of Levels in Binary Tree - LeetCode

Question 637. Average of Levels in Binary Tree Solution 思路:定义一个map,层数作为key,value保存每层的元素个数和所有元素的和,遍历这个树,把map里面填值,遍历结束后,再遍历这个map,把每...

yysue ⋅ 今天 ⋅ 0

IDEA配置和使用

版本控制 svn IDEA版本控制工具不能使用 VCS-->Enable Version Control Integration File-->Settings-->Plugins 搜索Subversion,勾选SVN和Git插件 删除.idea文件夹重新生成项目 安装SVN客户......

bithup ⋅ 今天 ⋅ 0

PE格式第三讲扩展,VA,RVA,FA的概念

作者:IBinary 出处:http://www.cnblogs.com/iBinary/ 版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边...

simpower ⋅ 今天 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 今天 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 今天 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部