vi/vim编辑器命令说明

前言

vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的。vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者应该是一样的。

在Linux的终端输入vi (vim)命令即可进入vi(vim)编辑器界面,如果没有安装vi,可以通过sudo apt-get install vim命令进行下载安装。

 工作模式

一般模式:刚进入vi/vim编辑器的时,状态就为一般模式。该模式下可切换vi的工作状态,可以进行粘贴,复制,删除,移动光标等操作。在其它两种状态下按【Esc】可切换回一般模式。

编辑模式:在一般模式状态下按【i,I,o,O,a,A,r,R】中任一字母即可进行编辑。

命令模式:在一般模式下按【: / ?】中任一即可,此状态下可进行保存,退出等操作。

vi命令的使用

一般模式

模式切换:

i,I,o,O,a,A,r,R切换到编辑模式
: / ?切换到命令模式

移动光标:

h/j/k/i控制光标向左/下/上右移动一格
0移动到文章开头
G移动到文章最末
nG光标移动到第n行
n<space>光标后移n个字符
n<Enter>光标下移n行
Ctrl+f/d屏幕向下/上移动一页
Ctrl+d/u屏幕向下、上移动半页
$ 或功能键[End]移动到这一行的最后面字符处(常用)
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符

删除:

x, X在一行字当中,x 为向后删除一个字符, X 为向前删除一个字符
nxn 为数字,连续向后删除 n 个字符。
dd删除游标所在的那一整行(常用)
nddn 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
d$删除游标所在处,到该行的最后一个字符
d0那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符

复制,粘贴:

yy复制游标所在的那一行
nyyn 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行
y1G复制游标所在行到第一行的所有数据
yG复制游标所在行到最后一行的所有数据
y0复制光标所在的那个字符到该行行首的所有数据
y$复制光标所在的那个字符到该行行尾的所有数据
p, Pp 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u复原前一个动作。(常用)
[Ctrl]+r重做上一个动作。(常用)
.不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

编辑模式

i, Ii 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 
a, Aa 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。
o, O这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!
r, Rr 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;
Esc退出编辑模式,回到一般模式

命令模式

 打开,保存,退出:

vi [fliename]/vim [filename][filename]是文件名,在vi/vim编辑器中打开该文件,若没有则会新建
w保存修改
:w!强制保存修改
:q退出,若修改过会提示
:q!不保存退出,强制退出
: w [filename] q文件命名为[filename],并保存修改退出
ZZ这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ不保存,强制退出。效果等同于 :q!。
:w [filename]将编辑的数据储存成另一个档案(类似另存新档)
:r [filename]在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。
Esc退出命令模式,回到一般模式

行号设置:

:set number显示行号,设定之后,会在每一行的前缀显示该行的行号
:set number与 set nu 相反,为取消行号!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值