Linux中vim编辑器的三种模式

  • Linux平台下的文本编辑器: emacs、nano、gedit、vivim
  • vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上基本的文本编辑器,类似于Windows 系统下 的记事本。
  • vi和vim区别:
    vi :visual interface
    vim:vi improved, vim
    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

一. vim三种模式及其功能介绍

1.命令行模式 :可以进行一些基本的复制、删除、跳转、撤销、移动等操作
2.编辑模式:编辑文件内容
3.尾行模式:①保存和退出 ②搜索替换 ③其他功能

二.使用vim工具打开文件

①环境准备

  1. 删除/tmp/目录里的所有内容
  2. 将/etc/passwd文件拷贝到/tmp目录里
# rm -rf /tmp/*
# cp /etc/passwd/ /tmp/

②使用vim工具打开文件
用法: vim [参数] [文件 …] 编辑指定的文件

  • 例1:(光标指向首行首字母打开指定文件)
    [root@192 ~]# vim /tmp/passwd
  • 例2:(光标指向参数行首字母打开指定文件)
    [root@192 ~]# vim +3 /tmp/passwd

三. vim三种模式常用命令

1.命令行模式

命令含义备注
yy复制光标所在行3yy表示复制3行,nyy表示复制n行
p在光标所在行的下行开始粘贴(记忆:小写在下)
P在光标所在行的上行开始粘贴(记忆:大写在上)
gg光标跳转到首行首字符ngg表示跳转到距离首行n行的位置
G光标跳转到尾行首字母
^ (shift+6)跳转到光标所在行首字母(记忆:^表示头)
# (shift+3)跳转到光标所在行尾字母(记忆:$表示尾巴)
dd或者D删除光标所在行
d^从光标位置删除至行首(不含光标)(记忆:d表示delete,^ 表示头,d^即表示删除到头)
d$从光标位置删除至行尾巴(含光标)(记忆:d表示delete,^ 表示尾,d^即表示删除到尾)
dgg删除光标所在行以上所有行(记忆:d表示delete,gg表示定位到首行首字母,即dgg表示删除到首行)
dG删除光标所在行以下所有行(记忆:d表示delete,G表示定位到尾行首字母,即dG表示删除到尾行)
x删除光标后的一个字符nx表示删除光标后n个字符,类似windows下的delete键(尝试了一下发现linux下delete键作用与x相同)
X删除光标前的一个字符nX表示删除光标后的n个字符类似windows下的backspace键盘(尝试了发现linux下的backspace表示光标左移)
u撤销上次操作
ctrl+←/→键快速向左右移动光标(即每个空格空行间快速移动)
n+←/→键向左或者向右移动n个字符

2.编辑模式

命令含义备注
i在光标所在字符前开始插入(记忆:insert)
a在光标所在字符后开始插入(记忆:after insert)
I在光标所在行行首开始插入
A在光标所在行行尾开始插入
o在光标所在行的上面另起一行插入
O在光标所在行下面另起一行插入
s删除光标所指向字符再插入类似覆盖替换操作(记忆:switch)
S删除光标所在行开始插入类似覆盖替换操作(记忆:switch)

(观察一下编辑模式的命令,发现大写一般在行间操作,小写一般在光标左右操作,此规律仅笔者用于记忆大概的小总结,并不严谨,例如以上命令o就不满足这个规律)
3.底行模式
①如何进入底行模式?

  • 命令模式进入底行模式:按冒号 :
  • 编辑模式进入底行模式:先按 Esc键退出到命令模式,然后再按冒号:

②底行模式的功能
1.保存和退出

命令含义备注
w保存文件(记忆:write)
wq保存并退出文件(记忆:write quit)
q正常退出文件未修改文件内容时用(记忆:quit)
q!强制退出文件修改不保存文件内容时用
x保存并退出文件无修改的情况下,表示直接退出(等价:q),在文件修改的情况下表示保存并退出(:wq)

2.搜索替换
①仅搜索
【例】搜索root这个词
:/root
[备注]:在尾行模式输入:/与命令行模式下输入/同样可达到搜索效果
【例】搜索/sbin/nologin这一串内容(即含有/字符,需要每个字符前加入转义字符\)
:/root \/sbin\/nologin
在这里插入图片描述
【例】取消高亮
:noh
②搜索替换
【例】全文搜索root这个词并替换成root
:%s/root/Root/g
在这里插入图片描述
③其他功能

  • 临时设置行号
    :set number:set nu
  • 永久设置行号
    echo "set number" >> /etc/vimrc
  • 查看控制符
    :set list
  • 地址定位
    :1,5 w /tmp/5.txt-----保存前5行内容到/tmp/5.txt
    :r /tmp/5.txt----- 在光标所在行下面读取/tmp/5.txt文件内容
    :3r /tmp/5.txt-----在当前文本的第3行后读取/tmp/5.txt文件
    :1,8d----- 删掉文本的1到8行

文章主要是整理了自学linux入门视频的笔记(例子采用视频和课件中的例子加以总结以及自己记忆的一些技巧,黑马linux运维入门的视频,可在b站搜索到)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值