Unix\Linux | 总结笔记 | vi编辑器
- 新建文件夹
- 常用的命令
- 三种模式及切换
- vi编辑器的启动选项及后续相关操作
- 其他--替换文本
- 其他--写入另一个文件
vi [目录名/文件名] #如果文件名是目录下不存在的文件,则vi编辑器会新建一个文件
- a:在当前字符后添加文本
- A:在行末添加文本
- i:在当前字符前插入文本
- I:在行首插入文本
- o:在当前行后面插入一空行
- O:在当前行前面插入一空行
- 上面是在命令模式转文本输入模式的转化
- :wq:在命令模式下,执行存盘退出操作
- :w:在命令模式下,执行存盘操作
- :w!:在命令模式下,执行强制存盘操作
- :q:在命令模式下,执行退出vi操作
- :q!:在命令模式下,执行强制退出vi操作
- :e文件名:在命令模式下,打开并编辑指定名称的文件
- :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件
- :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例
- :set number:在命令模式下,用于在最左端显示行号
- :set nonumber:在命令模式下,用于在最左端不显示行号
- 上面都在末行模式下适用
- x或X:删除一个字符,x删除光标后的,而X删除光标前的
- D:删除从当前光标到光标所在行尾的全部字符
- /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示
- ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示
- ndd:删除当前行及其后n-1行;nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字P(大写):粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方p(小写):粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方
- ZZ :文件改动,即保存退出 文件没有改动,即直接退出
- 上面是在命令模式下适用
- ESC:从文本输入模式切换到命令模式
- 命令模式:用户的输入不会在屏幕上显示,只会被执行,例如删除字符,移动光标等,vi编辑器处于任何模式下时(即文本输入模式和末行模式,或者不清楚当前是什么模式),只需按ESC键即可进入命令模式
- 文本输入模式:输入信息(i),状态行的左下角出现“-INSERT-”字样
- 末行模式:用户的输入被显示在vi编辑器界面的最下方(状态行),可以实现保存、退出、查找等功能(按ESC键)
- vi编辑器启动后,或者用vi编辑器新建文件,打开文件,vi编辑器均处于命令模式
- 三种模式的切换:

- vi -R filename
- 以只读的方式查看文件filename的内容
- vi -c vi编辑命令
- 例如vi -c /most filename #打开文件,并所搜most字符串,将光标定位在匹配的行
- 例如vi -c “set nu” filename #打开文件,并显示行号,注意加“”
- vi +number filename
- vi filename1 filename2 #同时打开两个文件
- 先显示第一个文件,然后输入命令:n切换到下一个文件,前提是你对刚才的文件没有修改,如果修改了,有两种选择
- :n!#放弃修改,切换到下一个文件
- :w #先保存,然后再输入:n切换到下一个文件
- :ar #显示当前编辑的文件名,用方括号括起来的文件
- :n 切换到下一个文件
- :prev 切换到上一个文件
- :e filename2
- 不退出vi编辑器,编辑另一个文件filename2
- 如果filename1做了修改,要先对filename1做处理后再编辑,即
- 先输入命令:w ,然后再输入命令:e filename2
- 或者:e! filename2 #不对filename1做保存
- s 替换当前行中第一个匹配的字符串
- *,*s 替换指定行数内的字符串
- %s 全文替换每行第一个匹配到的字符串
- g 替换命令后加上此参数,替换匹配行中出现的所有匹配的字符串
- 举例
- :s/unix/UNIX
- 替换当前行第一个匹配到的unix字符串为UNIX
- :s/unix/UNIX/g
- 替换当前行所有匹配到的unix字符串为UNIX
- :1,5s/unix/UNIX
- 替换第1行到第5行第一个匹配到的unix字符串为UNIX
- :1,5s/unix/UNIX/g
- 替换第1行到第5行所有匹配到的unix字符串为UNIX
- :%s/unix/UNIX
- 全文替换每行第一个匹配到的unix字符串为UNIX
- :%s/unix/UNIX/g
- 全文替换每行所有匹配到的unix字符串为UNIX
- vi filename1
- :5 w filename2
- 把filename的第五行内容写入到文件filename2
- :5,10 w filename2
- 把filename的第五行到第十行的内容写入到文件filename2
- v可视模式,hljk移动选择内容,冒号, w filename
- 把系统中的虚拟用户另存为一个文件
Unix\Linux | 总结笔记 | vi编辑器的更多相关文章
- linux学习笔记--vi与vim编辑器
vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...
- 【Linux基础】VI 编辑器基本使用方法
vi编辑器是所有Unix及Linux系统下标准的编辑器.对Unix及Linux系统的任何版本,vi编辑器是完全相同的,它是Linux中最基本的文本编辑器. 第一章vi的三种模式 第二章vi文本编辑器 ...
- Linux学习之一--VI编辑器的基本使用
vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...
- Linux下的vi编辑器与gcc工具的使用
最近在网上找了些视频,自学了一点Linux环境下,C编程的方法. 注 vi与vim是有区别的,vim打开的源码文件其中的关键字是有颜色的. vi编辑器有3种模式,命令行模式,插入模式,底行模式. 如果 ...
- Linux下 Vim(Vi)编辑器的使用
vi编辑器 vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器.vi有两种工作模式:命令模式和文本输入模式.启动vi需要输入vi,按[Spacebar]键并输入文件名后回车. 切换模式键 v ...
- linux操作系统3 vi编辑器
知识内容: 1.Linux基础命令复习 2.vi模式和基本操作 3.vi常用快捷键 一.Linux基础命令复习 目录(文件夹)操作 cd 进入目录 (tab自动补全) pwd 查看当前目录 mkdir ...
- linux系统之-vi编辑器
在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率.那么vi编辑器的使用方法有哪些呢? vi编辑器可在绝大部分linux发行版中使用. Vi编辑器的作用:创建或修改文件:维护li ...
- linux基础(Vi编辑器)
整理的linux vi编辑器命令 Vi编辑器,进入方式,输入vi file即可进入编辑模式 1.vi模式(Linux严格区分大小写) Vi所学到的几种模式 模式 主要用途 相应操作 对应命令 普通模式 ...
- linux vim,vi编辑器的基础
在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
随机推荐
- Go和HTTPS(TLS)
原文链接: http://studygolang.com/wr?u=http%3a%2f%2ftonybai.com%2f2015%2f04%2f30%2fgo-and-https%2f 近期在构思一 ...
- OpenWRT解决因PPPOE丢包导致频繁掉线问题
其关键在于这两个参数 lcp-echo-interval 1 #发送间隔秒 lcp-echo-failure 5 #5次未响应断开 因为OpenWRT默认的设置为1秒发送一次 5次没有响应就 ...
- [转]JAVA对象容器
要用Java实现记事本的功能.首先列出记事本所需功能: 可以添加记录(字符串): 可以获得记录条数: 可以删除其中某一条记录: 可以获得指定第几条的记录: 可以列出所有的记录. 如果这个记事本是某个大 ...
- CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL)
http://www.osyunwei.com/archives/8880.html 准备篇: CentOS 5.x系统安装配置图解教程 http://www.osyunwei.com/archive ...
- 新浪微博发送消息和授权机制原理(WeiboSDK)
1.首先是在微博发送消息,对于刚開始做weibo发送消息的刚開始学习的人会有一个误区,那就是会觉得须要授权后才干够发送消息.事实上发送消息仅仅须要几行代码就能够实现了,很easy,不须要先授权再发送消 ...
- Python - 多次检查后缀名(endwith)
在通过后缀名查找类型文件的时候, 多次使用endwith, 使用元组(tuple), 简化操作. 此类方式, 也能够应用于if语句多次类似检測. 代码 # 列出目录内全部代码 def list_dic ...
- 实战c++中的string系列--指定浮点数有效数字并转为string
上一篇博客讲了好几种方法进行number到string的转换,这里再单独说一下float或是double到string的转换. 还是处于控件显示的原因.比方说要显示文件的大小,我们从server能够获 ...
- TestNg的工厂測试引用@DataProvider数据源----灵活使用工厂測试
之前说过@Factory更适合于同一类型的參数变化性的測试,那么假设參数值没有特定的规律时,我们能够採用@Factory和@DataProvider相结合的方式进行測试 注意要点:请注意測试方法将被一 ...
- 李洪强iOS开发之性能优化技巧
李洪强iOS开发之性能优化技巧 通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化.结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化. 一.view ...
- 浅谈JavaScript的字符串的replace方法
JavaScript字符串提供了一个replace方法.replace方法可以接受两个参数:第一个参数可以使RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数.如果第一个参数是字符 ...