VIM编辑器使用总结

1. vim编辑器介绍

vim编辑器是vi编辑器的加强版本。vim不仅兼容vi的所有的命令和语法,而且还可以内容文本进行高亮显示,对配置文件和程序类的文件极度友好。一些Linux系统发行版默认没有安装vim编辑器,需要进行手动安装。

安装命令如下:

yum install -y vim

使用语法:

vim filename                # 即vim命令跟上文件名进行文件内容编辑

如果没有在对应目录下找到文件,则会新建一个同文件名的文件进入。

2. 模式介绍

vim有三种基本操作模式,它们是vim高效且独特编辑方式的核心。以下是这三种模式的详细介绍:

  • 正常模式(Normal mode)

vim命令打开文件之后,默认的状态就是正常模式。
该模式下不能进行文字编辑,但是可以通过“上下左右”键来移动光标,也可以执行一些操作命令进行如删除、复制、粘贴等工作。

  • 插入模式(Insert mode)

在正常模式下,只有通过按下iao等字母进入插入模式后才可以进行文本编辑操作。
在确定文件是否处于插入模式状态有一个重要的特征,就是在窗口左下角要有插入的标记-- INSERT ---- 插入 --

  • 命令模式(Command mode)

命令模式经常与正常模式混为一谈,但技术上这是正常模式下的一种特殊状态。
在正常模式下,输入:/?时,光标会自动定位到视图的底行,用于执行保存文件、查找替换文本、退出vim等操作。输入完命令后按回车执行,之后自动返回到正常模式。

  • 三种模式的工作示意图

在这里插入图片描述

除了这三种主要模式外,vim还有可视模式(Visual mode),通过按下v、V或Ctrl + v进入,允许您选择文本区域进行复制、剪切等操作,之后的操作会应用于选中区域。

3. 指令介绍

3.1 正常模式切换插入模式

切换按键命令解释
i在当前光标所在处插入文字(最为常用)
I在当前所在行的行首第一个非空格符处开始插入文字,和A相反
a在当前光标所在的下一个字符处插入文字
A在当前所在行的行尾最后一个字符处开始插入文字,和I相反
o在当前所在行的下一行处插入新的一行
O在当前所在行的上一行处插入新的一行
Esc退出插入模式,回到正常模式中

3.2 vi/vim常用命令说明

  • 【正常模式】:移动光标操作
命令说明
G将光标移动到文件的最后一行
gg将光标移动到文件的第一行,等于1gg或1G
nggn为数字,移动到文件的第n行。比如,12gg就是移动到第12行。可以配合命令“:set nu”查看。
0、^、【Home】数字0,将光标从所在位置移动到当前行的开头
$、【End】从光标所在位置将光标移动到当前行的结尾
nn为数字,输入后按回车键。将光标从当前位置向下移动 n 行。
H将光标移动到当前窗口的最上方的那一行
M将光标移动到当前窗口中间的那一行
L将光标移动到当前窗口最下方的那一行
  • 【正常模式】:搜索操作
命令说明
/字符串从光标位置开始,向下寻找符合的字符串。
?字符串从光标位置开始,向上寻找符合的字符串。
n从光标位置开始,继续执行一步前一个操作。使用 N 则反向执行

这几个符号通常配合使用。这里的 n 表示按键。

  • 【正常模式】:替换操作
命令说明
:%s/A/B/g把文件内所有符合A的内容全部替换成B。/表示分隔符,也可以使用#、@代替。
比如,:%s/old/new/g就表示将全文的old替换为new
:n1,n2s/A/B/gn1和n2表示数字在第n1行与n2行之间查找到A,替换成B。
比如,:4,6s/old/new/g就表示将第四行到第六行的old替换为new

这里s表示替换,g表示全局。

  • 【正常模式】:选择操作
命令说明
v从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
V从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
ggVG选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾
  • 【正常模式】:复制、粘贴操作
命令说明
yy复制光标当前所在行
nyyn为数字,复制从光标所在行开始向下的n行
p将已复制的内容粘贴在当前光标所在行的下一行 ,P复制到上一行
  • 【正常模式】:回滚、删除操作
命令说明
u恢复前一个执行的动作(回滚)
.重复执行前一个执行的动作
dd删除光标所在的当前行
nddn为数字,删除从光标所在行开始向下的n行
dG删除从光标所在行到文件的末尾行
dgg删除从光标所在行到文件的首行
d$删除光标所在位置到行尾
d^、d0删除光标所在位置到行首
x删除光标所在处字符,即向后删除一个。X表示向前删除一位

ctrl+v选中内容,按下x删除:对行内的选中内容进行删除

shift+v选中内容,按下x删除:删除选中的行(删除的是整行)

  • 【命令模式】操作
命令说明
:wq退出并保存
:wq!强制退出并保存
:q!强制退出,不保存
:set nu显示行号
:set nonu取消行号显示

4. 故障说明

  • vim编辑文件的流程
  1. vim filename 编辑文件会在当前的目录产生一个隐藏文件名称为 .filename.swp
  2. 如果正常编辑正常退出保存则系统会将 .filename.swp 移动为 filename
  3. 如果不正常退出则会保留 .filename.swp 文件,文件中存放着我们修改过的内容;
  • 解决故障方法
  • 如果想要保留修改过的内容。先使用vim -r filename 回车,进到文件中保存并且退出;再删除.filename.swp文件,rm -f .filename.swp
  • 如果不想保留要修改过的内容,则直接册除.filename.swp文件。
  • 导致此故障的原因可能是
  1. 没有正确的保存退出
  2. 直接关闭了远程连接窗口
  3. 网络中断,导致和服务器中断连接
  4. 多个窗口(连接)同时编辑一个文件
  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值