首先,记住vi编辑器的两个模式:1、命令模式 2、编辑模式。 
在一个UNIX/Linux的shell命令或者一个以斜杠(/)、问号(?)或冒号(:)开始的vi命令后面用户需要键入回车键,而要切换到vi命令 模式需要按Esc键。注意,以冒号(:)或者斜杠(/) 开始的vi命令会显示在屏幕底部,但其他命令都不会显示在屏幕上。
打开、写入和关闭文件(使用Enter键)
vi file       打开文件名为file的文件(UNIX shell命令)
:w        将工作缓冲区的变化写入默认文件中
:w file       将工作缓冲区的变化写入名为file的文件中
:q         退出vi编辑器
:wq        将工作缓冲区的变化写入文件并退出
:q!        不将工作缓冲区的变化写入文件并退出vi编辑器 
插入文本(vi命令模式下使用)
a        在当前光标位置的右边添加文本
i        在当前光标的左边插入文本
A        在当前行的末尾添加文本
I        在当前行的开始出添加文本
O        在当前行的上面新建一行
o        在当前行的下面新建一行
R        替换(覆盖)当前光标位置以及以后的若干文本
J         连接光标所在行以及下一行,成为一行
移动光标
上下左右方向键     向箭头所示方向移动光标一个位置
h            向左
j            向下
k            向上
l            向右
空格键          向右
Backspace        向左
Enter          向下移动到下一行的行首
-(连字符键)      向上移动到上一行的行首
纠正错误(vi命令模式下使用)
x        删除一个字符
dd        删除当前行
ndd       上除当前行在内的n行
u        撤销上一次操作(最后一步)
U        撤销对当前行的所有操作
拼写检查(UNIX shell命令)
spell file       显示问及那file中找到的拼写错误
ispell file       显示问及那file中找到的拼写错误
搜索(vi命令模式下使用)
/word      向前搜索第一个出现的word
/         继续向前搜索下一个word
?word      向后搜索第一个出现的word 
?        继续向后搜索下一个word  
跳跃到指定行(vi命令模式使用)
n+      向前(向下)跳跃n行
n-      向后(向上)跳跃n行
nG      跳跃到行号为n的行,G为Go
G      跳跃到文件的底部
设置行号(vi命令模式下使用)
:set nu      在屏幕上显示行号
:set nonu     取消行号
复制和粘贴(vi命令模式下使用)
"knyy      复制n行到缓冲区"k
"kp       将缓冲区"k的内容粘贴到当前行的下面
全局替换文本(vi命令模式下使用)
:%s/old/new/g      用new替换文件中的所有old。s为substitution,替换的意思。g为global。
编辑另一个文件(vi命令模式下使用)
:e otherfile      编辑文件名为otherfile的文件
为命令行编辑制定一个编辑器(UNIX shell命令)
bindkey -v      指定vi编辑器(用于 tcsh) 
VISUAL=vi      指定vi编辑器(用于 ksh)
set -o vi        指定vi编辑器(用于 bash)
 缓冲区:  
前面讲过,vi编辑器设计上是对工作缓冲区的文件副本进行编辑。在使用vi编辑器的时候,用户还可以访问其他缓冲区。总共有36个缓冲区。
◆ 未命名缓冲区
◆ 已命名缓冲区 "a、"b、"c、……、 "z 
◆  已编号缓冲区 "1、"2、"3、……、 "9
未命名缓冲区有时也叫做一般缓冲区。在修改文本时,旧文本并没有被立刻删除。vi将旧文本放在未命名缓冲区直到用户删除修改更多的文本。这样就可以实现撤  销,具体命令为 u。因为vi只有一个未命名缓冲区,所以只能撤销一次。 
命令模式和编辑模式的切换:
如果不清楚当前所在的模式,可以连续按2次Esc键盘,主机会发出警报声,这样就肯定进入了命令模式。在命令模式下面,输入a A i I O o R都会进入编辑模式。所输入的这单个字符不会显示,也不会插入到文件中。

转载于:https://blog.51cto.com/jiedushi/241109

10分钟 教你学会Linux/Unix下的vi文本编辑器相关推荐

  1. 教你学会Linux/Unix下的vi文本编辑器

    vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结. 首先,记住vi编辑器的两个模式:1.命令模式 2.编辑模式. 在一个UNIX/Linux的s ...

  2. 10分钟学计算机,电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身

    原标题:电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身 你的电脑是不是越来越慢?这里让程序员大佬用10分钟时间教你学会给电脑软件瘦身,1分钟了解计算机硬件升级.分分钟让你成为别人眼中的计算机大牛 ...

  3. Python开发 之 10分钟教你学会爬虫Scrapy

    文章目录 一.简介 二.Scrapy的简单示例 1.先找一个需要爬的网页 2.先给用的浏览器下载一个"XPath"查询插件 2.1 谷歌浏览器方法 2.2 360浏览器的方法(博主 ...

  4. linux 下 任务管理器,Linux/Unix下的任务管理器-top命令

    Windows下的任务管理器虽然不好用(个人更喜欢Process Explorer些),但也算方便,可以方便的查看进程,CPU,内存...也可以很容易的结束进程 没有图形化界面下的Linux,也有命令 ...

  5. 【Linux + Makefile】十分钟教你学会Makefile的FORCE

    相信大家在使用Linux环境编程的时候,一定接触过Makefile这个玩意.Makefile在搭建自定义的编译环境,尤其是自动化编译.多功能一键编译等功能上,还是发挥了很大的作用.如果接触过Linux ...

  6. 一分钟教你学会python_十分钟教你学会python编写小游戏

    原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...

  7. python编写小游戏17_十分钟教你学会python编写小游戏

    原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...

  8. Linux/Unix下的任务管理器-top命令

    Linux/Unix下的任务管理器-top命令 Posted on 2012-07-11 09:14 fengyv 阅读(15453) 评论(1) 编辑 收藏 Windows下的任务管理器虽然不好用( ...

  9. 修改linux下全局数据库名,linux/unix下修改oracle数据库实例名的方法

    linux/unix下修改oracle数据库实例名的方法 2018年12月10日 | 萬仟网IT编程 | 我要评论 linux/unix下修改oracle实例名的方法 1.检查原来的数据库实例名 $ ...

最新文章

  1. 2022-2028年中国食品电商行业投资分析及前景预测报告
  2. 基于 Ubuntu 系统安装 CUDA 和 cuDNN
  3. 网络:http请求之几种常见技术
  4. 分布式机器学习_京东出来的java工程师,竟然不知道分布式、高并发、多线程的区别?...
  5. mysql对其他IP授权访问
  6. 命名空间跟作用域是什么关系_乔丹跟科比什么关系?他们是亲密朋友,但并未对外公开...
  7. redis集群添加节点报错Either the node already knows other nodes (check with CLUSTER NODES) or contains some k
  8. GDI+ 学习记录(28): 图像颜色的数据格式 - PixelFormat
  9. 点击button自动提交表单原因及解决方案
  10. LookupError: unknown encoding: utf-8
  11. PHP微信H5支付Demo
  12. linux终端怎么设置monaco,Ubuntu中使用Monaco字体美化
  13. IT公司面试智力题整理
  14. Stata制作限制立方样条(RCS)(2)
  15. 企业微信api调用报50001错误
  16. python可嵌入和可执行版本_Python可嵌入zip
  17. UE4-目录结构简介
  18. java逆波兰式求值_波兰式、逆波兰式与表达式求值
  19. 用python进别人qq_采用python实现简单QQ单用户机器人的方法
  20. 转载:使用expdp/impdp进行数据库迁移

热门文章

  1. npm的安装和更新---npm工作笔记002
  2. STM32工作笔记0093---DAC数模转换实验-M3
  3. 人工智能TensorFlow工作笔记007---认识张量
  4. Python工作笔记004---python字符串前面加上'r'的作用_u_b的含义
  5. Android学习笔记---26_网络通信之资讯客户端,使用pull解析器,解析,从网络中获得的自定义xml文件
  6. 数据归一化的作用--在svm 训练的时候特别有用
  7. 输入图像四通道 输出图像四通道
  8. 发现Diolar 的边缘检测程序好像也有缺点
  9. sizeof运算符和size_t类型比较
  10. String 字符串