公众号:uncle39py

V1

2022/05/30阅读:19主题:默认主题

Linux vim&快捷键

vim编辑器

一.作用:

1.修改配置文件;

2.写脚本

二.命令模式/输入模式/末行模式

a, i, o都会切换到输入模式,区别是输入的位置不同,记住一个即可

esc:从输入模式切回命令模式

冒号:切到末行模式

三.末行模式

  • :wq 保存退出

  • :q! 不保存直接退出

  • :wq! 针对只读文件,强制保存退出(只有老大root可以,普通用户不行,普通用户只能:q!不保存退出)

四.快捷键(输入模式直接输入值了,没有快捷键概念)

(一)光标的移动

0:移到行首
$:移到行尾(常用于末尾追加)
gg:移到文件首行
G:移到文件尾行
3G:移到文件第三行
H:移到屏幕的开头
M:移到屏幕的中间
L:移到屏幕的尾行
(二)删除/复制/剪切

dd:删除一行(dd,然后按p:剪切单行操作)
3dd:删除光标下三行(3dd,然后按p:剪切三行)(1000dd:删除光标下1000行)
yy:复制一行
3yy:复制3
小p:黏贴在光标下一行
大P:粘贴在光标上一行
u:撤销操作
ctrl+r:撤销后恢复
(三)可视块

ctrl+v:可视块(相当于鼠标选中)
可视块选中后,按d就是整块删除,常用于批量去注释

批量加注释:先按ctrl+v选中可视块; 
         然后按住shift+i输入字符(比如#); 
         最后按两下esc键,会将选中的可视块前批量加上字符#
(四)查找/替换

:/要查找的字符,比如:/ABC代表查找ABC(n:往下查找,N:往上查找)

:%s@egg@EGG@g 将所有的egg替换成EGG(此处@可以用/来替换:%s/.../.../g)
%代表所有行,也可直接写行数(比如:1,3,4s@egg@EGG@g);(比如:3,$s@egg@EGG@g,代表第三行到末尾)
s代表去匹配
最后的@g代表一行所有的都替换,否则只替换每行第一个
第一个@后面可以跟一个正则表达式(比如:%s@^egg@EGG@g 以egg开头的行)(比如:%s@egg$@EGG@g 以egg结尾的行)
(五)其他

:3,5 w /root/abc.txt 将文档的3-5行写到abc.txt中(常用)
:r /etc/hosts 从另外的文件中读取内容到当前的位置
:set nu文件加行号,对应:set nonu
:set ic 不区分大小写(用于查找替换)
:set ai 自动缩进(写脚本时有用)

以上set修改为临时修改,想要永久修改需要改配置文件
vim /etc/vimrc 然后按G在最尾行加上以上三个set,就能永久生效

分类:

后端

标签:

操作系统

作者介绍

公众号:uncle39py
V1