VIM

VIM文本编辑器

image-20241209102339338

推荐vim配置

1
/etc/vim/vimrc
1
2
3
4
5
6
7
8
9
set cul
set hlsearch
set ai
set et

set tabstop=4
set shiftwidth=4

syntax on

VIM

1
2
3
4
5
-m FILE				# 只读模式
-b FILE				# 二进制打开
-d FILE1 FILE2		# 比较文件	
-e FILE				# ex模式
+N FILE				# 进入时,到第几行;定位报错位置
1
2
3
4
5
6
7
8
9
:q
:wq
:x						# 小写x == wq
:r /etc/passwd			# 读文件内容,并写在光标处
:w test					# 另存为test
:!echo aa				# 回到终端,执行命令
:r!echo aa				# 读命令输出,并写在光标处

:X						# 大写X,密码加密,zip加密,弱
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 地址定界

# ,是以指定行计算
:5,10				# 5行-10行
:5,+10				# 5行-光标后10行
:5,-10				# 5行-光标前10行

# ;是以光标所在行计算
:5;+10				# 5行-往前10行
:5;-10				# 5行-往后10行

:.					# 当前行
:$
:.,$-1
:%
:/parttern/
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 命令模式,扩展命令模式
p		# 粘贴
d		# 删除
行号,行号d
y		# 复制
行号,行号y

# 扩展命令模式
行号,行号t行号			# 将内容,粘贴到‘行号’后
行号,行号m行号			# 将内容,移动到‘行号’后
  • 查找并替换
1
2
3
4
5
6
7
s/原/替换/					# 当前行第一个
s/原/替换/g				# 当前行所有

%s/原/替换/				# 所有行第一个
%s/原/替换/g				# 所有行所有

%s/原/替换/gi				# 所有行所有,忽略大小写
  • 配置,可在.vimrc 更改,或是扩展命令行更改
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
set number		# 显示行号
set nonumber	# 不显示行号

set ignorecase	# 忽略大小写
set ic

set autoindent	# 自动缩进
set ai

set paste		# 复制保留格式		

set list		# 显示系统字符

set hlsearch	# 搜索高亮

syntax on		# 语法高亮
  • 光标跳转
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
w				# 下个词首
e				# 下个词尾
b				# 前个词首

H				# 页首
M				# 页之间
L				# 页底

G				# 最后一行
gg				# 第一行

Ctrl+d			# 后翻半页
Ctrl+u			# 前翻半页
1
2
3
4
yy				# 复制整行
dd				# 删除一行
cc				# 删除一行后,进入插入模式
# 这些内容都在缓冲区,可以用p键粘贴出来
  • 查找
1
2
/pattern		# 向前
?pattern		# 向后
  • 撤销
1
u
1
2
v		# 选取,按字符
V		# 整行选取
  • 多窗口
1
2
3
4
5
6
7
vim -O /var/log/boot.log-20241026 /var/log/boot.log-20241028 /var/log/boot.log-20241024 

-o		# 上下模式
-O		# 左右模式
:wqall	# 退出

Ctrl+w,Arrow	# 窗口切换
  • 单文件窗口分割
1
2
3
4
5
Ctrl+w,s		# 上下分
Ctrl+w,v		# 左右分
Ctrl+w,q		# 取消相邻窗口
Ctrl+w,o		# 取消所有窗口
Ctrl+w,Arrow	# 窗口切换