开始linux之旅~Vi的使用总结(命令举例)

Vi == Visual interface
3种运行模式:编辑模式、插入模式、命令模式
刚进入程序的时候是编辑模式

编辑模式-〉插入模式 插入命令i,附加命令a等
插入模式-〉编辑模式 Esc
编辑模式->命令模式  按:
命令模式->编辑模式  执行完命令(Enter之后)
-------------------进入插入模式的命令---------------
i   从光标所在位置前开始插入文本
I   该命令是将光标移到当前行的行首,然后再其前插入文本
a   用于在光标当前所在位置之后追加新文本
A   将光标移到所在行的行尾,从那里开始插入文本
o   在光标所在行的下面新开一行,并将光标置于该行的行首,等待输入文本
O   在光标所在行的下面插入一行,并将光标置于该行的行首,等待输入文本

-------------------编辑模式下的操作--------------
G   将光标移动到文件的最后一行

rc   用字符c替换光标所指向的当前字符
nrc   用字符c替换光标所指向的前n个字符
x   删除光标处的字符
nx   删除从光标所在位置开始向右的n个字符
dw   删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾并连同空格
ndw   删除n个指定的单词
db   删除光标所在位置之前的一个词
ndb   删除光标所在位置之前的n个词
dd   删除光标所在的整行
ndd   删除当前行及其后n-1行的内容

YY   将当前行的内容复制到缓冲区
nYY   将当前开始的n行内容复制到缓冲区
p   将缓冲区的内容写出到光标所在的位置

/str   向右移动到有str的地方
?str   向左移动到有str的地方
n   向相同方向移动到有str的地方
N   向相反方向移动到有str的地方

u   取消前一次的操作,相当于undo
.   再执行一次前面刚完成的某个复杂的命令

ZZ   存盘退出
ZQ   不保存退出
--------------------命令模式下的操作------------------
:n   直接输入要移动到的行号即可实现跳行
:q   退出Vi
:wq   保存退出Vi
:q!   不保存退出Vi

:w   将当前编辑的内容存盘
:w file   将当前编辑的内容写到file文件中
:n1,n2w file  将从n1开始到n2结束的行写到file中
:nw file  将第n行写到file文件中
:1,.w file  将从第1行起到光标当前位置的所有内容写到file文件中
:.,$w file  将从光标当前位置起到文件的结尾的所有内容写到file
:r file   打开另一个file
:e file   新建file文件
:f file   把当前文件改名为file文件

:/str/   从当前光标开始往右移动到有str的地方
:?str?   从当前光标开始往左移动到有str的地方
:/str/w file  将包含有str的行写到文件file中
:/str1/,/str2/w file 将从str1开始到str2结束的内容写入file文件中
:s/str1/str2/  将第1个str1替换为str2
:s/str1/str2/g  将所有的str1替换为str2
:.,$ s/str1/str2g 将从当前位置到结尾的所有的str1替换为str2

:n1,n2 co n3  将从n1开始到n2为止的所有内容复制到n3后面
:n1,n2 m n3  将从n1开始到n2为止的所有内容移动到n3后面
:d   删除当前行
:nd   删除从当前行开始的n行
:n1,n2 d  删除从n1开始到n2为止的所有内容
:.,$d   删除从当前行到结尾的所有内容
:/str1/,/str2/d  删除从str1开始到str2为止的所有内容

:!Cmd   运行Shell命令Cmd
:n1,n2 w ! Cmd  将n1到n2行的内容作为Cmd命令的输入,如果不指定n1和n2,则将整个文件的内容作为命令Cmd的输入
:r ! Cmd  将命令运行的结果写入当前行位置

----------------设置Vi环境---------------
:set autoindent  缩进每一行,使之与前一行相同。常用于程序的编写
:set noautoindent 取消所进
:set number  在编辑文件时显示行号
:set nonumber  不显示行号
:set ruler  在屏幕底部显示光标所在的行、列位置
:set noruler  不显示光标所在的行、列位置  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值