vi有输入和命令两种工作模式。命令模式是用来运行一些编排文件、存档以及离开vi等操作命令。
当执行vi后,首先进入命令模式,此时输入的人数字符都被视为命令。
在命令模式下,可以使用如下两个键进入文本输入模式
"A键":在当前的光标后面添加文本 a代表append
"I键":在当前的光标前面添加文本 i代表insert
在输入模式下如果用户希望回到命令模式的时候,
只能在输入模式下使用Esc键切换到命令模式,之后会在屏幕底部出现光标等待输入命令
使用vi新建一个文档
--在Linux的终端命令主提示符下输入vi。
--按下"a"键,进入输入模式,使用Backspace键删除前面的文字
--文本输入完成以后,按下"Esc"键切换到命令模式。
--为了保存输入的内容,在命令模式下输入"w <filename>",将文本区输入的内容写文件。注意不加文件名也可以保存
--在命令行模式下输入":q"并按Enter键,退出vi,回到命令提示符。
--在文件修改后,无法直接用":q"命令退出,必须使用":q!"命令不保存文件强制退出
--":wq" 表示保存并且退出vi
使用vi编辑现有文档
--在vi命令后面跟上文件名,然后按Enter键即可
--由于没有指定路径,vi程序会在默认路径(即当前目录)中查找filename,
用户也可以为其指定路径。如果文件不存在,此时会新建一个文件
--例如:vi /home/bird/a.txt
vi撤销功能
--和很多基于图形的编辑器一样vi也提供撤销功能,对于一个编辑器来说,提供撤销功能是必要的。
用户可以在命令模式下输入":u"后按Enter键,就可以撤销上一次操作。
--在vi中,撤销功能每一次撤销的是自上次存盘到现在输入的内容,因此撤销能够恢复到最原始的状态,
但是此时用户不能使用":q"命令退出vi,因为此时用户已经修改了缓冲区的内容。
如果确实需要退出vi程序,可以在命令模式下使用":q!"。
vi删除功能
--在vi输入模式下,用户可以使用Backspace(退格键)来删除光标前面的内容,
还可以使用delete键来删除当前的字符。此外,在vi的命令模式下还提供了几个按键用来删除一个字符或进行整行删除
"x键":删除当前光标所在的字符。
"d键 双击":删除光标所在的行
"r键":修改光标所在的字符
.bash_profile文件
Linux系统在执行可执行程序的时候,默认不在当前目录下寻找可执行文件,所以执行a.out必须指定路径和文件 --"./a.out",
如果需要修改Linux这个默认设定,需要在当前属主目录下找到隐藏文件.bash_profile,用vi编辑器修改该文件下PATH属性,
修改为PATH=$PATH:$HOME/bin:.(在原有字符串后面追加":."),执行"wq"保存命令,此时配置文件没有生效,需要再执行一次
执行命令是". .bash_profile",此时配置文件生效。
PATH属性的意思是查找文件的路径,在Linux中,查找文件的路径之间用":"来分割,例如"$PATH:$HOME/bin"表示系统会先在"$PATH"路径下查找
可执行文件,然后再在"$HOME/bin"查找可执行文件。我们追加":."表示让系统再多个查找路径,"."表示当前目录下
.bash_profile每个用户都有一个,各个用户间互相不影响。
显示行号
--:set nu

Linux 实用工具vi的更多相关文章

  1. [Linux实用工具]munin-node插件配置和插件编写

    前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx)   这次介绍一下mun ...

  2. [Linux实用工具]Linux监控工具munin的展示(Nginx)

    Munin的安装和配置可以参考第一篇文章: [Linux实用工具]Linux监控工具munin的安装和配置 http://www.cnblogs.com/rond/p/3757804.html Mun ...

  3. [Linux实用工具]Linux监控工具munin的安装和配置

    〇.摘要 munin是用于Linux系统(也可以监控windows系统)的监控软件.munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值.整个系统的架构简单明了, ...

  4. Linux学习总结(3)——Linux实用工具

    1. Windows下同步Linux文件(Linux安装Samba和配置) 场景需求: 安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行.如果wind ...

  5. [Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)

    场景需求: 安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行.如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了.一次两次还好说,这编译 ...

  6. [Linux实用工具]Ubuntu环境下SSH的安装及使用

    SSH分为客户端和服务端. 服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求.提供了对远程请求的处理,一般包括公共密钥认证.密钥交换.对称密钥加密和非安全连接. 客户端一般是 ...

  7. Linux系统监控实用工具Glances

    Linux系统监控实用工具Glances Glances安装 Glances安装要求:python >= 2.6 和 psutil >= 0.4.1 1.第一步,安装了python-> ...

  8. 自学Linux Shell18.3-sed实用工具

    点击返回 自学Linux命令行与Shell脚本之路 18.3-sed实用工具 1. 加倍行间距 命令格式: .......

  9. Linux/Windows 实用工具简记

    以下只是开发中可能用的比较多的工具,另外还有其他很多未曾提及的实用工具.Linux篇: 1.链接过程的调试:主要用于查看构建过程:如链接时加载的动态库以及运行时加载动态库过程的调试 支持LD_DEBU ...

随机推荐

  1. struts-2-spring-2-jpa-ajax

    http://struts.apache.org/docs/struts-2-spring-2-jpa-ajax.html

  2. tcpreplay 发包速率控制算法研究

    一.  序 1.1  tcpreplay历史 Tcpreplay 的作者是Aaron Turner,该项目开始于2000年,早期的功能是对tcpdump等抓包工具生成的网络包(即pcap文件)的回放, ...

  3. [干货]2017已来,最全面试总结——这些Android面试题你一定需要

        地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...

  4. C#中使用 HttpWebRequest 向网站提交数据

    HttpWebRequest 是 .NET 基类库中的一个类,在命名空间 System.Net 里,用来使用户通过 HTTP 协议和服务器交互. HttpWebRequest 对 HTTP 协议进行了 ...

  5. php漏洞挖掘书籍

    PHP是一种被广泛使用的脚本语言,尤其适合web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界超过34%的网站有php的应用,包括Yahoo.sina.163.sohu等大型门户网站.而且很 ...

  6. 安装Node.js、npm和环境变量的配置

    由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境. 一.安装Node.js 首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像 ...

  7. 如何在Ubuntu上使用Glances监控系统

    导读 Glances 是一个用于监控系统的跨平台.基于文本模式的命令行工具.它是用 Python 编写的,使用 psutil 库从系统获取信息.你可以用它来监控 CPU.平均负载.内存.网络接口.磁盘 ...

  8. 倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 如何读写数字量模拟量输入输出(DI,DO,AI,AO)

    常见的模拟量模块(还有更高端和更低端的,使用方法都一样) EL3054和EL4024(4路模拟量输入和输出模块)   常见的数字量模块(还有更高端和更低端的,使用方法都一样) EL1809和EL280 ...

  9. SEO优化100条

    1.准备个好域名.①.尽量在5位数内,当然也不一定,反正要让用户好记.(看个人):②.尽量用顶级的域名,搜索排名感觉好一点.③.做中文站最好用拼音注册,不要问为什么.看百度(baidu.com)就是很 ...

  10. 【Java】Java_10 常量与变量

    1.变量(variable) 1.1 我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放置什么值不确定! 1.2 Java是一种强类型语言,每个变量都必须声明其 ...