目录
- 一:vim 介绍
- 二:vim 特点
- 三:vim 配置
- 四:vim 使用
- 1、vim 语法格式
- 2、vim 普通模式
- (1)保存退出
- (2)光标跳转
- (3)文本删除
- (4)文本查找
- (5)撤销操作
- (6)可视化模式
- 3、vim 命令模式
- (1)保存退出
- (2)set 命令
- (3)搜索替换
- 4、vim 编辑模式
一:vim 介绍
vim 是一个跨平台的交互式文本编辑工具,是vi编辑器的增强版,常用于Linux环境中对文本文件的内容进行增删查改;
二:vim 特点
-
属于交互式编辑工具,允许用户实时编辑文件内容
-
编辑文件时,会将该文件的内容全部加载到内存,在内存中完成修改后再写入
-
有三种工作模式,末行模式、命令模式和编辑模式,默认进入的是命令模式;
三:vim 配置
vim 有两种级别的配置文件,分别是用户级配置文件和系统全局配置文件;vim 配置文件中,使用 "
作为注释符号,注释内容不会被执行:
-
用户级配置文件:只对当前用户生效,一般默认不存在,需要手动创建;
-
系统级配置文件:针对所有用户生效;
查看配置文件优先级和路径:
# 例如
$ vim --version | grep vimrc
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
四:vim 使用
1、vim 语法格式
vim [filename]
-
如果指定的文件
filename
存在,打开文件并显示其内容。 -
如果指定的文件不存在,创建一个空白的缓冲区(
buffer
),将其命名为filename
,如果编辑后保存 (:w
),文件将被创建并写入指定路径。 -
直接执行 vim 而不指定文件名:vim 会打开一个空白缓冲区(
buffer
),没有关联的文件。可以进行文本的输入,但是保存的时候需要在命令行模式下指定文件名:w filename
2、vim 普通模式
-
打开某个文件时,默认就处于普通模式;
-
命令模式下可以通过执行相关命令来对文本进行管理,但是输入的命令不会在界面有任何显示;
-
命令模式下不能直接编辑文本,而是通过按键命令操作文件内容;
(1)保存退出
-
ZQ
:直接退出vim编辑器,当前更改的内容不会被保存; -
ZZ
:保存当前对文本的修改,然后退出vim编辑器;
(2)光标跳转
-
^
(脱字符):跳转到光标所在行的,数字0也可以; -
$
:将光标跳转到光标所在行的行尾 -
gg
:光标移动到文本的第一行 -
G
:光标移动到文本的最后一行,前面加数字就是移动到指定行。 -
[num]G
:跳转到指定行。例如 11G,表示将光标跳转到第11行
(3)文本删除
-
d0或d$
:(删除到行尾)从光标处开始的内容一直到光标所在行的最后一个字符会被删除; -
dd
: 删除光标所在行的整行内容; -
dG
:删除从光标开始行到最后一行的内容;
(4)文本查找
-
/关键字
: 向下搜索, -
?关键字
:从当前光标位置向上搜索,n:向上 N:向下
(5)撤销操作
-
u
:撤销当前操作 -
ctrl+r
:取消撤销操作
(6)可视化模式
可视化模式的作用是用于选择文本块,进入可视化模式后,可以批量选择。
-
v
:选择文本中的单个字符 -
v
:选择整行文本 -
ctrl+v
:选择文本的一个矩形区块
例如:批量注释行:
1、先将光标移动到指定行的第一行行首
2、输入ctrl+v
进入可视化模式
3、向下移动光标,选中希望操作的每一行的第一个字符
4、输入大写字母 I
切换至插入模式(大写I 表示在当前光标所在行的行首输入)
5、输入 #
6、按 ESC
键返回到普通模式
3、vim 命令模式
命令模式也叫做末行模式,于执行文件操作和全局操作命令,例如保存、退出、搜索和替换等。
普通模式下按 :
可以进入末行模式,按 Esc
返回普通模式。
(1)保存退出
-
w
:保存 -
q
:退出 -
x
:保存并退出 -
!
:结合w q等命令使用,表示强制的意思
(2)set 命令
-
set nu
:显示行号,set nonu
:取消行号显示 -
set ai
:自动缩进,set noai
:取消自动缩进 -
set paste
:复制文本内容到该文件时候,保留文件格式,set nopaste
:取消格式保留 -
set list
:显示不可见的字符。^I
:表示tab键$
:表示回车 -
set ff=unix|dos
:更改文本格式,unix就是linux格式,dos就是windows的格式 -
set fileencodings=utf-8,iso-8859-1
:设置当前内容显示的编码格式 -
set fileencoding=utf-8
:设置使用vim创建新文件时的编码格式;
(3)搜索替换
说明:分隔符 / 可以换为其它的,例如 s#xx#yy#
-
s/xx/yy/
:将文本中光标所在行的第一个xx替换为yy -
s/xx/yy/g
:将文本中光标所在行的所有的xx替换为yy -
%s/xx/yy/g
:将文本中所有的xx都替换为yy,如果不加g,只会搜索
4、vim 编辑模式
编辑模式也叫做插入模式,用于直接对文本内容进行操作。
在普通模式下按 i、a、o
可以进入到编辑模式;
-
i
:在当前光标位置前插入文本;I
:在当前行的行首插入文本 -
a
:在当前光标位置后插入文本;A
:在当前行的行首插入文本 -
o
:在当前行下方新建一行并插入文本;O
:在当前行上方新建一行并插入文本