vim是Unix/Linux上最常用的文本编辑器 而且功能非常强大
vim的优势:
1.vim拥有所有命令功能;
2.vi只能在Unix/Linux,vim可以在Unix/Linux,windows系统上使用
3.vim编辑器,自动根据文件你内容显示不同的颜色
一.vim的使用
安装vim
yum -y install vim
使用方法:
进入方式 vim filename
进入编辑模式 i
从编辑模式退出 按 esc 再输入 :wq 点击回车 保存退出
vim的三种状态:分别是命令模式(command mode),插入模式(insert mode)和低行模式(last line mode)
命令模式:再改模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入insert mode 下,或者到last)
插入模式:也称为编辑文本模式 只有insert mode 下,才可以做文字输入,按[ESC] 件可会到命令行模式.
低行模式: 将文件保存退出vi,也可以设置编辑环境,如搜索,替换,保存,退出,撤销,高亮等
不过一般再使用vi简化成两个模式,就是将低行模式也算数命令模式
插入命令
i 再光标前插入
l 再光标当前行开始插入
a 再光标后插入
A 在光标当前行末插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
定位命令
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
$ 当前行的最后一个字符
替换和取消命令
u 取消上一步操作 Ctrl+r 返回到undo之前
r 替换光标所在处字符
R 从光标所在处开始替换,按esc结束
删除命令
x 删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到末尾行的所有内容
D 删除光标所在处到行尾的内容
:5,7d 删除指定范围的行,从第5行到第7行
常用快捷键
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式
V 或 Shift + v 进入行可视模式
Ctrl + v 进入块可视模式
快捷键
Linux中vi编辑器的使用详解,下面的引号和括号不算啊
光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",
"ctrl+b":屏幕往后移动一页
"ctrl+f":屏幕往前移动一页
"ctrl+u":屏幕往后移动半页
"ctrl+d":屏幕往前移动半页
输入任何一个整数,然后输入"shift+G" 就可以到这一页的开头了.
按键盘上的大写"G"移动到文章的最后.
按"$"符号将光标移动到行尾
"^"将光标移到行头
"w":将光标移到下一行头
b":跟"w"相反.移到上一行行头
"e":将光标移到下一行尾.
如果想让文本显示行号.就在【命令行】 模式下,在文本最后输入":set nu"命令.就可以了
复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴 功能。
查找
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
替换
「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
恢复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。
按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
替换
在命令模式下使用“s/原字符/新字符/g” 代表当前行所有
如果想全局替换,s变为%s
文件内全不替换
:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)
--注:把abc替换成123
(或者: %s/str1/str2/g 用str2替换文件中所有的str1)
文件内局部替换
:20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)
--注:把20行到30行内abc替换成123
时间
查看当前时间
[root@localhost ~]# date
格式化当前的时间
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-02-21 21:57:00
date "+%F %T"
获取之前或者之后的某个时间(备份)
#date -d "-1 day" "+%Y-%m-%d %H:%M:%S"
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
查看硬件时间
[root@localhost ~]# hwclock
Sun 21 Feb 2021 09:59:01 PM PST -0.992879 seconds
设置当前的时间
[root@localhost ~]# date -s "2021-2-22 14:00"
Mon Feb 22 14:00:00 PST 2021
将系统时间同步到硬件时钟
[root@localhost ~]# hwclock --systohc
[root@localhost ~]# date && hwclock
时间不一致的问题:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime