Vi/Vim常用命令 - 文件内容导入、替换

vi有三种工作模式:一般指令模式(command mode)、编辑模式(insert mode)、指令列命令模式(command-line mode)。

1. 插入命令

命令作用
a在光标所在字符后面插入
A在光标所在行尾插入
i在光标所在字符前插入
I(大写i)在光标所在行行首插入
o在光标下插入新行
O在光标上插入新行

    上述命令,不仅仅只是将光标移动到指定位置,同时还进入了插入模式(insert mode)。

2. 定位命令

命令作用
:set nu[mber]设置行号
:set nonu[mber]取消行号

gg

G

到第一行

到最后一行

nG到第n行
:n到第n行
$移到行尾
0移到行首

3.删除命令

命令作用
x删除光标所在处的字符
nx删除光标所在处后n个字符
dd删除光标所在行,ndd即删除n行内容
dG删除光标所在行到文件末尾内容
D删除光标所在处到行尾的内容
:n1,n2d

删除指定范围的行

    删除指定范围的行,可先调用“:set nu”查看行号。

4. 复制和剪切命令

命令作用
yy复制当前行
nyy复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行
p、P粘贴在当前光标所在行下或行上

5. 替换和取消

命令作用
r取代光标所在处字符
R从光标所在处开始替换字符,按ESC结束
u取消上一步操作

6. 搜索和搜索替换命令

命令作用

/string

?string

向光标之下搜索指定字符串

向光标之上搜索指定字符串

n搜索指定字符串的下一个出现位置
:%s/old/new/g全文替换指定字符串
:n1,n2s/old/new/g

在一定范围内替换指定字符串

7. 导入命令执行结果

    :r 文件名 - 将该文件的内容导入到当前vi正在编辑的文件中。例如,将当前目录下s3.txt文件的内容,导入到当前vi正在编辑的文件s2.txt中。

    :! 命令 - 可以在不退出当前vi的情况下执行命令。例如,查看一下当前日期:

    :r !命令 - 可以将命令的执行结果,导入到当前vi正在编辑的文件中。例如,在当前文件中,导入date命令的执行结果。

8. 连续行注释

    :n1,n2s/^/#/g  - 在n1-n2行行首添加注释符号#;

    :n1,n2s/^#//g - 去掉n1-n2行行首的注释符号#;

    :n1,n2s/^/\/\//g - 在n1-n2行行首添加注释符号//(反斜杠为转义字符);

    示例:为当前文件所有行加入注释符号#,输入“:1,$s/^/#/g”。

9. 替换

    :ab  string1  string2 

    在vi中 设置完上述命令后,在vi中每次输入string1便会自动转换为string2。例如,输入“:ab  mymail  apple@126.com”命令之后回车,之后在vi中输入"mymail"便会自动转换为"apple@126.com"。

   但是,ab替换功能,在文件关闭之后便失效了。为使得该功能长久有效,需将它定义在用户目录下的vi配置文件.vimrc中。其实,在.vimrc配置文件中,可以设置vi/vim编辑器的很多功能,比如,使vi编辑器一打开就带有行号。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值