讲述vi操作文件的几种命令

先上图

退出保存命令

命令 含义
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

进入vi的命令

命令 含义
vi filename 打开或新建文件,并将光标置于第一行首
vi +n filename 打开文件,并将光标置于第n行首
vi + filename 打开文件,并将光标置于最后一行首
vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename…filename 打开多个文件,依次进行编辑

移动光标类命令

命令 含义
h 光标左移一个字符
l 光标右移一个字符
space 光标右移一个字符
Backspace 光标左移一个字符
k或Ctrl+p 光标上移一行
j或Ctrl+n 光标下移一行
Enter 光标下移一行
w或W 光标右移一个字至字首
b或B 光标左移一个字至字首
e或E 光标右移一个字至字尾
) 光标移至句尾
( 光标移至句首
} 光标移至段落开头
{ 光标移至段落结尾
n 光标移至第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个字
do 删至行首
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/p2/g 将第n1至n2行中所有p1均用p2替代
g/p1/s//p2/g 将文件中所有p1均用p2替换

选项设置

命令 含义
all 列出所有选项设置情况
term 设置终端类型
ignorance 在搜索中忽略大小写
list 显示制表位(Ctrl+I)和行尾标志($)
number 显示行号
report 显示由面向行的命令修改过的数目
terse 显示简短的警告信息
warn 在转到别的文件时若没保存当前文件则显示NO write信息
nomagic 允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan 禁止vi在搜索到达文件两端时,又从另一端开始
mesg 允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

命令 含义
n1,n2 co n3 将n1行到n2行之间的内容拷贝到第n3行下
n1,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!command 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
r!command 将命令command的输出结果放到当前行

寄存器操作

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

显示行数

在命令模式下,输入set nu

linux的vi详细命令相关推荐

  1. linux下Vi编辑器命令大全

    linux下Vi编辑器命令大全 /根目录下的文件夹 输入"/",回车 里面有很多文件夹,如:etc,home,lib,mnt等等 etc:存放用户名和密码 home:每个用户有个文 ...

  2. linux 文档编辑器 word,linux下vi编辑器命令大全

    常用命令linux下vi编辑器命令大全来源:考试大 [学而优则进,考试大以成!] 2007年8月14日 文本编辑器是所有计算机系统中最常用的一种工具.UNIX下的编辑器有ex,sed和vi等,其中,使 ...

  3. linux下vi编辑器的命令大全,linux下VI编辑器命令大全(超级完整版)

    linux下VI编辑器命令大全(超级完整版) NOTICE:把这里提到的命令牢记心间,行走LINUX才能轻松自如! 这是基本功,练就此身本领后,方可学习上乘功夫 如若不按此步骤修练,结果会经脉尽断,真 ...

  4. linux系统vi替换命令,linux:vi 替换命令

    转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

  5. linux下Vi编辑器命令大全(上)

    2007-04-23 18:09/根目录下的文件夹 输入"/",回车 里面有很多文件夹,如:etc,home,lib,mnt等等 etc:存放用户名和密码 home:每个用户有个文 ...

  6. linux 用vi命令的使用以及vi编辑,Linux中vi编辑命令的使用

    在Linux中利用vi命令进行一个编辑的时候,相信很多操作的技巧你暂时还是没有学会的,在前面的文章中已经向大家介绍并且是有做演示了vi与vim文本编辑工具的使用,下面给大家的是在vi文本编辑器里面常用 ...

  7. Linux下vi编辑器命令精华版

        最近开始使用vi编辑器,用了几天,发现其实还是比较好用的.对自己常用的命令做个总结,以备实时查阅.一下内容是对网络多篇文章的总结.   进入vi的命令: vi filename :打开或新建文 ...

  8. 常用命令linux下vi编辑器命令大全

    为什么80%的码农都做不了架构师?>>>    文本编辑器是所有计算机系统中最常用的一种工具.UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论 ...

  9. 【Linux】vi编辑器命令

       1)进入vi的命令 vi filename :             打开或新建文件,并将光标置于第一行首 vi +n filename :          打开文件,并将光标置于第n行首 ...

  10. Linux中vi\vim命令详解

    添加修改配置文件一般都是使用默认的VI编辑器,长期编辑代码的程序员会使用功能更强大的编辑器. 简单介绍下vi编辑器的使用方法: 一.vi可以分为三种状态,分别是命令模式(command mode).插 ...

最新文章

  1. 有多少人在51job上找到工作_人不在日本,找到日本工作的最佳方案
  2. plt.figure(figsize(x,y))设置后后续程序都跟着改变,如何处理?走破解它!
  3. sonar 分析的质量数据在数据库表中的存储和质量维度数值的研究
  4. leetcode 134. 加油站(Gas Station)
  5. gitlable iphone_使用gitlab ci构建IOS包并发送通知消息到企业微信
  6. Scrapy 框架【学习笔记01】
  7. 服务器基线加固脚本_Linux 基线检查,安全加固脚本
  8. GooglePerformanceTools--tcmalloc
  9. 有类和无类路由下的路由匹配原则
  10. python中单下划线(_)和双下划线(__)的特殊用法 还等什么
  11. 关于过程和线程的常识点汇总
  12. Android系统(127)---Android6.0存储中加入总内存和系统内存项和在西语下把,换成.
  13. (三)使用Keras构建移动风格迁移CycleGAN
  14. weblogic 下载地址
  15. win7计算机图标 灰色不可选,win7系统aero主题灰色不可选怎么办|win7 aero灰色的解决方法...
  16. Verilog 锁存器 触发器 寄存器区别
  17. PAT a1125
  18. progress进度条滚动动画
  19. android 豁免的广播及广播白名单,浅谈BLE地址、隐私机制、白名单、定向广播
  20. SQL实战(9)--从titles表获取按照title进行分组

热门文章

  1. 64 位SQL Server 2005通过DB link链接32位SQL Server 2000 的bug解决
  2. [转] 面试必问的16个经典问题的回答思路
  3. SingalR 构建 推送服务器初探
  4. Easyui的numberbox无法输入以0开头的数字编号(转载)
  5. Redis学习笔记(二) Redis 数据类型
  6. css 修改占位符(placeholder)默认颜色、字体
  7. 【最小割】HDU 4971 A simple brute force problem.
  8. ubuntu 下的开发板的环境配置
  9. 最简单的Windows窗体应用程序,它存在什么问题?
  10. asp.net 为FCKeditor开发代码高亮插件实现代码