作用:编辑文本文件中的内容的工具
命令历史
末行模式中,以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动vim
在命令行窗口中输入以下命令即可
vim 直接启动vim
vim filename 打开vim并创建名为filename的文件
vim的模式
vim打开文件
vim【空格】要打开的文件
注意:
- vim打开文件,如果发现文件是空的,那么说明你所打开的文件是不存在的
- vim既可以打开现有的文件,也可以创建新文件,只是所创建的新文件内容是空白的
- vim是用来编辑文本文件的,不能用来打开目录
情况1:从命令模式到输入模式
i
:在光标所在位置的前面插入内容
I
:将光标移到到行首,然后进入输入模式
a
:将光标向后移到一位,然后进行插入模式(输入的内容会在光标原始位置的后一位。
A
:在当前行尾插入
o
:在光标所在行的下面新开一行,然后进入输入模式
O
:在光标所在行的上面新开一行,然后进入输入模式
命令模式下的常用操作
第一类操作:复制、移动删除文件内容
yy
:复制光标所在的行
nyy
:复制光标所在的行开始向下的N行
dd
:剪切光标所在的行
ndd
:剪切光标所在的行开始向下的N行
p
(小):粘贴到光标所在行的下面
P
(大):粘贴到光标所在行的上面
D
:删除光标所在位置到行尾的内容
dG
:删除光标所在的行到末尾全部的行
第二类操作:撤销和重复执行的相关操作
u
:撤销上次所指向的操作(相当于windows中ctrl+z)
nu
:撤销n次操作(n的值最大是50)
ctrl+r
:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)
.
:重复执行上一次所做的操作
第三类操作:跳转相关的操作
nG
:跳转到第n行
G
:直接跳转到最后一行
0
:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前面)
^
:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)
$
:跳转到行尾
ctrl+f
:向下翻一屏
ctrl+b
:向上翻一屏
第四类操作:替换相关操作
r
:替换一个字符(替换完成之后,自动返回到编辑模式)
R
:进入替换模式(要想退出替换模式,按esc)
第五类操作:查找
/string
:在文件中搜索指定的字符串
n
:正向查找
N
:反向查找
情况2:从输入模式到命令模式
按下esc
键
情况3:从编辑模式到末行模式
进入末行模式的方式:在命令模式下按shift+:
末行模式下的常用操作
第一类命令:行号
set nu
:显示行号
set nonu
:关闭行号
第二类命令:跳转
num
:直接跳转到第num行
$
:直接跳转到最后一行
第三类命令:取消匹配到的内容的高亮
nohl
(“no high light”简写)
第四类命令:替换
start,end s/原始内容/要替换的内容/g
(分隔符不一定是/,只要是三个相同的符号即可)
start指开始的行数,end指结束的行数
注意:
如果不用g,那么仅仅会替换每行的第一个找到的对象
如果使用g,那么会将范围内所有找到的对象全部做替换
例:
- 将54到56之间的echo替换为bajie
:54,56 s/echo/bajie/g
- 将文件中全部的echo替换为bajie
:1,$ s/echo/bajie/g
或:% s/echo/bajie/g
- 将文件的50-100行行首添加一个#
:50,100 s/^/#/g
- 1-5行首添加空格
:1,5 s/^/ /g
- 将全部行首的空格删除
:1,$ s/^//g
- 将全部行首的#删除
1,$ s/^#//g
- 将1-5行中的a删除
:1,5 s/a//g
- 在1-5行末尾添加一个#
:1,5 s/$/#/g
- 将文件中全部的/替换为+
:% s#/#+#g
补充:
^
:表示行首
$
:表示行尾
第五类命令:保存和退出
w
:执行保存操作(保存到原始文件中)
w /path/to/file
:实现文件另存为
q
:退出
!
:强制执行操作
第六类命令:高级操作
!
命令:在vim中直接执行命令
r /path/to/file
:将file中的内容导入到当前文件中
set tabstop=4
:将tab缩进的字符数设置为4个
set ai
:设置自动缩进
set noai
:取消自动缩进
第七类命令:复制、移动、删除多行的操作
start,end d
:删除多行
start,end m dest
:将多行移动到指定行下面
start,end co dest
:将多行复制到指定行的下面
例子:将59到198之间的内容复制到233行的下面
59,198 co 233
分屏操作
vim -o file1 file2
:实现水平分屏
vim -O file1 file2
:实现垂直分屏
ctrl+w
:切换到另一个分屏
打开文件的小技巧:
vim+num file
:打开文件的时候,自动跳转到第num行(加号不可省略)
vim+file
:打开文件的时候,自动跳转到最后一行
vim的配置文件
/etc/vimrc
:全局配置文件,在这个文件中做的配置,会对所有用户生效
~/.vimrc
:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效
编辑vim的配置文件,可以实现自动显示行号、缩进4个字符、自动对齐
#vim ~/.vimrc
:set nu
:set ai
:set tabstop=4
vim崩溃缓存机制
用vim编辑一个文件的时候,如果文件没有正常关闭(wq、q、q!),那么就会生成一个崩溃缓存文件
崩溃缓存文件的作用:
- 缓存文件是隐藏文件
- 缓存文件基本格式是
.file.swp
- 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉了终端或者系统)
- 缓存文件的使用方式
第一步:#vim -r .file.swp
第二步:保存退出
第三步:删除缓存文件rm -f .file.swp
注意:
- 如果文件发生了修改,那么无法直接退出
- 如果要退出一个修改了的文件,有3种方式:
方式1:先执行保存(w),然后执行退出(q)
方式2:直接保存并退出(wq)
方式3:不保存,并强制执行退出操作(q!)
补充:
- 创建空白文件的方式有两种touch、vi\vim
- linux中,文件的后缀对于文件的属性没有任何影响,文件的属性只和创建文件的时候所执行的命令有关
- linux中无论是命令还是文件名,都严格区分大小写
Comments NOTHING