vim编辑器

原文地址:https://www.cpweb.top/468

一、介绍

  vi 和 vim 是 Linux 下的一个文本编辑工具。
  vim 编辑器中设置了三种模式:普通模式、编辑模式和末行模式,每种模式又分别支持多种不同的命令快捷键,要想高效率地操作文本,就必须先搞清这三种模式模式的切换方法和各个模式的操作用法。
  普通模式: 主要是控制光标移动,可对文本进行复制、粘贴、删除等工作。使用 vim 编辑一个文件时,一进入该文件就是普通模式了。
  编辑模式: 主要进行文本内容编辑和修改。想要编辑文件就必须从普通模式进入编辑模式,只需按(i、a、o、I、A、O)其中一个键即可,当然不同的键有不同效果,后面会介绍到。当进入编辑模式时,会在屏幕的最下一行会出现 “INSERT” 标记。编辑模式回到普通模式只需要按键盘左上方的 ESC 键即可。
  末行模式: 主要用于保存或退出文本,当然还有搜索、替换等一些操作。在普通模式下,输入 “:” 即可进入命令模式。

二、普通模式

1、命令光标跳转和翻页

命令作用
]] 或者 G光标跳转至末端
[[ 或者 gg光标跳转至顶端
Ngg光标跳转至当前文件内的第N行
$光标跳转至当前光标所在行的尾部
^ 或者 0光标跳转至当前光标所在行的首部
ctrl+f往下翻页
ctrl+b往上翻页

2、文件内容操作

命令作用
dd删除(剪切)光标所在整行
5dd删除(剪切)光标处开始的5行
dG删除当前光标所在行及以后的所有行
D删除当前光标及光标以后的内容
x删除当前光标标记往后的字符
X删除当前光标标记往前的字符
yy复制光标所在整行
5yy复制光标处开始的5行
p将之前删除和复制的内容粘贴到光标下一行
P将之前删除和复制的内容粘贴到光标上一行
u撤销上一步操作
r替换当前光标标记的单个字符
R进入REPLACE模式,连续替换,ESC结束


三、输入模式

进入输入模式的方式:

命令作用
i进入编辑模式,光标不做任何操作
a进入编辑模式,光标后移一位
o进入编辑模式,在当前光标下面创建一个空行
I进入编辑模式,并且光标会跳转至本行的首部
A进入编辑模式,并且光标会跳转至本行的尾部
O进入编辑模式,在当前光标上面创建一个空行


四、末行模式

1、文件保存和退出

命令作用
:w保存
:w!强制保存
:q退出
:q!强制退出
:wq 和 :wq!保存退出 和 强制保存退出
:X先保存,再退出
ZZ保存并退出

2、文件内容替换

命令作用
😒/one/two将当前光标所在行的第一个one替换成two
😒/one/two/g将当前光标所在行的所有的one替换成two
:1,5s/one/two/g将1-5行的所有one替换成two
:%s/one/two/g将整个文本中所有的one替换成two
:%s/one/two/gc将整个文本中所有的one替换成two,并提示是否需要替换

3、set设置选项

命令作用
:set nu显示行号
:set ic忽略大小写
:set ai自动缩进,对每行按与上行同样的标准进行缩进
:set list显示制表符(空行、tab)
:set nohlsearch取消高亮,本次内容编辑取消高亮,再搜索不会高亮显示,下次编辑无效。只取消本次搜索关键字高亮使用 :nohlsearch,可使用简写 :noh
:set no[ nu , ic , ai , list ]取消设定

4、文件内容另存和读入

命令作用
:w /root/test.txt将所有内容另存为/root/test.txt文件中
:r /root/test.txt读入/root/test.txt文件内容到当前光标下行
:5r /root/test.txt读入/root/test.txt文件内容到当前文件第5行下面

5、文件内容查找

命令作用
/string在文本中从上至下搜索该字符串
?string在文本中从下至上搜索该字符串
n按搜索到的内容依次往下查找
N按搜索到的内容依次往上查找
:number跳转到对应行号

四、扩展

###1、可视模式

命令作用
v进入可视模式,可进行字符选择,再v取消
Ctrl+v可视块模式
1.插入:按shift+i进入编辑模式,输入需要插入的字符,结束按ESC键。
2.删除:选中内容后,按x或者d键删除。
3.替换:选中需要替换的内容,按下r键,然后输入替换后的内容。
Shift+v进入可视行模式;y键复制,d键删除

2、使set设定永久生效

[root@cp ~]# vim ~/.vimrc 
set nu
注意:~/vimrc 个人环境变量优先级高于/etc/vimrc 全局环境变量
          如果个人vim环境没有配置,则使用全局vim环境变量配置。
          如果个人vim环境和全局环境变量产生冲突,优先使用个人vim环境变量。

3、同时编辑多个文件

[root@cp ~]# vim -o test1.txt test2.txt       # 水平分割
[root@cp ~]# vim -O test1.txt test2.txt       # 垂直分割

            # ctrl+ww文件间切换

4、文件对比,差异部分高亮显示

[root@cp ~]# vimdiff test1.txt test2.txt
  456                                      |  456                                     
  aaa                                      |  bbb                                     
  ~                                        |  ~                                       
  ~                                        |  ~                                       

5、vim非正常退出处理方法

假设打开test1.txt文件,vim被非正常关闭,需要删除同文件名的.swap文件即可解决。

[root@cp ~]# rm -rfv .test1.txt.swp 
removed ‘.test1.txt.swp’
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值