linux(五)之vi编译器
前面介绍了linux的常用命令和对文本的操作,接下来我将对大家领略一下vi编译器的强大功能。
希望大家觉得写的还不错的话可以点个“推荐”哦!
一、vim/vi编译器简介
Vim/Vi是一个功能强大的全屏幕文本编译器(Full Screen Text Editor),是Linux平台上最常用的文本编译器
用于建立、编辑、显示文本文件(linux平台下的编程平台)主要用来进行一些脚本程序的编写
二、vim/vi的三种工作模式

1.1、编辑模式(命令模式)
Vi在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符,
例如l是向右移动光标,相当于向右箭头键,k是向下移动光标,相当于向下箭头键。在编辑模式下,用户还可以利用一些特殊按键选定文字,然后再进行删除、或复制等操作。
1.2、插入模式(输入模式)
当用户在编辑模式下键入i/a/o等命令之后,可进入插入模式。在该模式下,用户随后输入的,除Esc之外的任何字符均将被看成是插入到编辑缓冲区中的字符。按Esc之后,从插入模式切换到编辑模式。
1.3、命令模式(底线命令模式)
在插入模式下,键入":"可进入命令模式。在命令模式,Vi将把光标挪到屏幕的最下方,并在第一个字符的位置显示一个“:”(冒号)。这时,用户就可以键入一些命令。
这些命令可用来保存文件、读取文件内容、执行 Shell 命令、设置Vi参数、以正则表达式的方式查找字符串或替换字符串等。
三、vim/vi编译器的简单使用
3.1、vi启动
输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。
vi file1 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。
vi +N file1(N:为数字) 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。
vi +/string file1 如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。
3.2、退出vi
建议在退出vi前,先按ESC键,以确保当前vi的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。
:w 将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vi,必须进一步输入下述命令才能退出vi: “:w filename(存入指定文件) :q”
:wq 即将上面的两步操作可以合成一步来完成,先执行w,后执行q。
:x和ZZ(注意:ZZ前面没有“:”)功能与“:wq”等价。
:q!(或:quit) 强行退出vi,使被更新的内容不写回文件中。仅键入命令:q时,如vi发现文本内容已被更改,将提示用户使用“:quit”命令退出。
四、Vi编译器常用的命令
3.1、在文件中移动光标
- h:向左移动一个字符
l:向右移动一个字符
k:向上移动一行
- j:向下移动一行
^(即Shift+6):移动到当前行的开头处
$(即Shift+4):移动到当前行的结尾处
H(大写):使光标移动到屏幕的顶部
M(大写):使光标移动到屏幕的中间
L(大写):使光标移动到屏幕的底部
Ctrl+b:上滚一屏。
Ctrl+f:下滚一屏。
Ctrl+d:下滚半屏。
Ctrl+u: 上滚半屏。
3.2、插入文本
3.2.1、添加
输入a后,在光标的右边插入文本
输入A,在一行的结尾处添加文本
3.2.2、插入
通过在命令模式下输入i,在光标的左边插入文本
通过在命令模式下输入I,在行首插入文本
3.2.3、插入新行
输入o,在当前光标位置下面打开一行
输入O,在当前光标位置上面打开一行
3.3、撤销更改
撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令
重复某个命令:“.”
撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。
3.4、删除文本
3.4.1、删除一个字符
为删除一个字符,需将光标放置在要删除的字符上并输入x
为删除光标之前(其左边)的一个字符,需输入X
3.4.2、删除一个词或词的部分内容
为删除一个词,需将光标放置到该词的开头并输入dw
为删除词的部分内容,将光标放到该词要保存部分的右边。输入dw来删除余下的部分
3.4.3、删除1行
将光标放置到该行的任意处并输入dd;删除多行:ndd
3.4.4、删除行的部分内容
光标放置到该行要保存部分的右边,并输入D。
为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。
3.4.5、删除到文件的结尾
为删除从当前行到文件结尾的所有内容,需输入dG
3.5、复制和移动文本
- 复制一行命令:yy
- 粘贴命令:p
- 移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了
- 复制指定文件的内容(使用底行模式)::r filename
3.6、查抄一个字符串
- 输入/,并在/后面输入要查找的串,然后按下回车
输入“n”跳转到该串的下一个出现处
- 输入“N”跳转到该串的上一个出现处
3.7、替换一个字符串
- 在一行内替换头一个字符串old为新的字符串new::s/old/new
- 在一行内替换所有的字符串old为新的字符串new::s/old/new/g
- 在两行内替换所有的字符串old为新的字符串new::#,#s/old/new/g
- 在文件内替换所有的字符串old为新的字符串new::%s/old/new/g
- 进行全文替换时询问用户确认每个替换需添加c选项::%s/old/new/gc(需按两次回车)
3.8、设置vi
- 显示行号:set number(nu)
- 取消行号显示:set nonumber(nonu)
设置文件只读:set readonly
更多关于vi编辑器的内容,请参见:http://www.dwz.cn/6pTuTA
觉得
小编还不错的话,点个“推荐”哦!
linux(五)之vi编译器的更多相关文章
- 开发环境入门 linux基础 (部分) 归档 压缩 Vi编译器 系统分区
归档 压缩 Vi编译器 系统分区 1.使用cat命令进行文件的纵向合并 1) 使用cat命令实现文件的纵向合并: a) 例如:将用户信息数据库文件和组信息数据库文件 ...
- Linux怎么安装vim编译器
我的Linux系统是Ubantu14.04,默认的是vi编译器,现在安装vim编译器 打开终端输入:sudo apt-get install vim-gtk 一般来说就可以了,但是我的提示出现了报错: ...
- gdb调试工具vi编译器命令参考网址
vi编译器命令:参考http://www.cnblogs.com/junw_china/articles/1708967.html gbd调试命令:参考http://blog.chinaunix.ne ...
- 10个你必须掌握的Linux超酷VI命令技巧
大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. 在使用 ...
- windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号
一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...
- linux下使用vi操作
ESC : 进入命令模式 linux下使用vi后,怎样跳转到文件结尾 pagedown键连续按 虽然我也这么用,但还是太笨了.问了高手,方法是按shift+g,另外,到文件开头是gg. linux ...
- [转载] Linux五种IO模型
转载:http://blog.csdn.net/jay900323/article/details/18141217 Linux五种IO模型性能分析 目录(?)[-] 概念理解 Lin ...
- 网络通信 --> Linux 五种IO模型
Linux 五种IO模型 聊聊Linux 五种IO模型
- Linux学习笔记--vi
在Linux上使用vi命令修改一个文件内容的时候,发现无法保存,每次写完使用“:q!”命令可以正常退出但是使用":wq!"命令保存文件并退出时出现一下信息提示: E212: Can ...
随机推荐
- Android Studio 提示android.support.v4不存在的解决方法
最近想学习仿QQ列表的侧滑删除功能,看完资料之后,发现有一堆错误,看了一下,说是不存在android.support.v4包不存在,浪费了一个多小时,终于是找到了解决方法,便是记录下来 打开file- ...
- 一些常用的vim编辑器快捷键:
一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- 通过 kms 激活 office 2016
1.管理员模式打开cmd,并切换到office的安装路径 注:office2016默认安装在C:\Program Files\Microsoft Office\Office16,激活其他office自 ...
- JMeter常见错误解决方法
1.Windows 平台,双击 jmeter/bin 目录下 jmeter.bat 文件,jmeter 无法启动且报错如下: 此问题是没有配置 jdk 环境变量所致,配置好 jdk 环境变量即可. 2 ...
- 对 Java 集合的巧妙利用
我们直接切入正题.首先大致介绍一下 Java 三大集合的一些特征: ①.ArrayList:底层采用数组结构,里面添加的元素有序可以重复. ②.HashSet:底层采用哈希表算法,里面添加的元素无序不 ...
- 区分javascript中的toString(),toLocaleString(),valueOf()方法
首先我们随意创建一个对象,这很简单,打开FF浏览器的Firebug切换到控制台或者打开webkit浏览器的审查元素功能. 输入以下内容: var obj1=[1,2,3,4,5] var obj2=[ ...
- mayavi安装
Mayavi是python的一个包,提供方便的可视化方案.目前(20150809)Mayavi还没有py3的支持,以下安装环境在python 2.7.10下进行 安装Mayavi: 1. 通过pip ...
- Linux程序包管理rpm与yum
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- python中输出内容颜色得控制
参考:http://www.jb51.net/article/51237.htm 颜色代码 1)代码列表 格式:\[显示方式;前景色;背景色m 说明: 前景色 背景色 颜色 ------------- ...