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
Linux中vim编辑器的三种模式_第1张图片
【例】取消高亮
:noh
②搜索替换
【例】全文搜索root这个词并替换成root
:%s/root/Root/g
Linux中vim编辑器的三种模式_第2张图片
③其他功能

  • 临时设置行号
    :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站搜索到)

你可能感兴趣的:(Linux,linux,vim)