Linux入门之Vim编辑器及vim命令的应用(Ubuntu)

概述

vi与vim

vi编辑器是Unix及Linux系统下标准的编辑器,相当于Windows系统中的记事本。是我们使用Linux系统不可缺少的工具。
vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;相比vi编辑器,vim编辑器拥有更强大的功能,如果将vi编辑器比作是Windows系统里的记事本,那么vim编辑器就是Windows里的Word。因为程序简单,编辑速度相当快速。
vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。
vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。

Vim编辑器

Vim编辑器可按照功能将其分为三种模式形态,即插入模式,命令模式,拓展命令模式。

模式功能
插入模式可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式,在此模式下可进行文本的插入删除修改等;按ESC键即可返回命令模式
命令模式命令模式是Vim编辑器的初始模式,在此模式下可进行Linux命令操作
拓展命令模式按”Shift+:“即可进入扩展命令模式,在此模式下可进行命令行操作,如保存,退出等

Vim命令及其应用

Vim命令(启动Vim编辑器)

格式:vim + 选择项 + 文件名(中间以空格隔开)

格式功能
-c cmd在打开文件前,先执行指定的命令
-r恢复上次异常退出的文件
-R以只读的方式打开文件,但可以强制保存
-M以只读的方式打开文件,不可以强制保存
-y num将编辑窗口的大小设为num行
+从文件的末尾开始
+num从第num行开始
+/string打开file,并将光标停留在第一个找到的string上
Vim编辑器模式切换

命令模式——> 插入模式

按键功能
iinsert, 在光标所在处输入
I在当前光标所在行的行首输入
aappend, 在光标所在处后面输入
A在当前光标所在行的行尾输入
o在当前光标所在行的下方打开一个新行
O在当前光标所在行的上方打开一个新行

插入模式——> 命令模式

按键功能
ESC切换到命令模式

命令模式——> 扩展命令模式

按键功能
Shift+:切换到扩展命令模式

扩展命令模式——> 命令模式

按键功能
先按ESC再按Enter切换到命令模式
Vim命令模式

常见命令

操作功能
ZZ保存退出
ZQ不保存退出
h光标向左移动
l光标向右移动
j光标向下移动
k光标向上移动
#COMMAND光标跳转由#指定的个数的字符
w光标跳转到下一个单词的词首
e光标跳转到当前或下一单词的词尾
b光标跳转到当前或前一个单词的词首
H光标跳转到页首
M光标跳转到页中间行
L光标跳转到页底

删除命令

操作功能
d删除命令,可结合光标跳转字符,实现范围删除
d$删除到行尾
d^删除到非空行首
d0删除到行首
dd删除光标所在的行
#dd多行删除
D从当前光标位置一直删除到行尾,留空行,等同于d$

复制命令

操作功能
y复制,行为相似于d命令
y$复制到行尾
y0复制到行首
y^复制非空行首
ye复制到当前或者下个单词词尾
yw复制到下个单词词首
yy复制行
#yy复制多行
Y复制整行

其他命令

操作功能
p缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
u撤销最近的更改
#u撤销之前多次更改
Vim扩展命令模式

常见操作

操作功能
:q退出
:q!强制退出,丢弃做出的修改
:wq保存退出
:x保存退出
:r filename读文件内容到当前文件中
:w filename将当前文件内容写入另一个文件
:!command执行命令
:r!command读入命令的输出

地址界定

界定符功能
#具体第#行,例如2表示第2行
#,#从左侧#表示起始行,到右侧#表示结尾行
#,+#从左侧#表示的起始行,加上右侧#表示的行数
:2,+3表示2到5行
.当前行
$最后一行
.,$-1当前行到倒数第二行
%全文, 相当于1,$

查找替换
查找

操作功能
/PATTERN从当前光标所在处向文件尾部查找
?PATTERN从当前光标所在处向文件首部查找
n与命令同方向
N与命令反方向

替换

操作功能
i:忽略大小写
g全局替换;默认情况下,每一行只替换第一次出现
gc全局替换,每次替换前询问
示例1%s@目标内容@替换内容@g
示例2%s#目标内容#替换内容#i

设置文件格式

操作功能
启用windows格式set fileformat=dos
启用unix格式set fileformat=unix

设置文本宽度
:set textwidth=65
:set wrapmargin=15

案例

案例一:在vim中设置tab缩进为4个字符

1.通过cd命令到达home目录下,利用vim命令打开.vimrc文件

liuyan@liuyan-virtual-machine:~$ vim .vimrc
  1. 在.vimrc文件里输入set tabstop=4 保存退出后运行.vimrc文件即可

案例二:删除文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号

  1. 利用vim命令打开目标文件,目标文件如下:
  1 #!/bin/bash
  2 #+--+--+--+--+--+--+--+--+--+
  3 #author:liuyan
  4 #date:2020-03-07
  5 #tel:188332489740
  6 #Email:2742604627@qq.com
  7 #+--+--+--+--+--+--+--+--+--+
  8 # hsdgjdfhglkjs
  9 # hgfjkhdsksd
 10 # aaaaaaaaaaaaaaaaaaaaaaaas
 11 # aaaaaaaaaaaaad
 12 #   aaaaaaaaac
 13 #     aaaaaaaaaaaaacc                                                       
 14 adsssssssssssfdgsf
 15 adgshjkfd
  1. 转到扩展命令模式,输入修改命令:%s@# +@@g修改后如下:
  1 #!/bin/bash
  2 #+--+--+--+--+--+--+--+--+--+
  3 #author:liuyan
  4 #date:2020-03-07
  5 #tel:188332489740
  6 #Email:2742604627@qq.com
  7 #+--+--+--+--+--+--+--+--+--+
  8 hsdgjdfhglkjs
  9 hgfjkhdsksd
 10 aaaaaaaaaaaaaaaaaaaaaaaas
 11 aaaaaaaaaaaaad
 12 aaaaaaaaac
 13 aaaaaaaaaaaaacc                                                             
 14 adsssssssssssfdgsf
 15 adgshjkfd
 16 
~                                                                               
~                
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪千颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值