本文共 1032 字,大约阅读时间需要 3 分钟。
vim的一些常见有用操作,记录在此,便于遗忘的时候查看,后续发现新的好用操作,也会不断补充
:{作用范围}s/{目标}/{替换}/{替换标志}
%s/foo/bar/g
会在全局范围(%
)查找foo
并替换为bar
,所有出现都会被替换(g
)
:s/foo/bar/g
当前行查找foo
并替换为bar
:5,12s/foo/bar/g
在5-12行内替换
:'<,'>s/foo/bar/g
选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :'<,'>。
:.,+2s/foo/bar/g
当前行.与接下来两行+2
替换标志g表示global,全局
替换标志i表示大小写不敏感,替换标志I表示大小写敏感
:%s/foo/bar/i
等效于查找模式中的\c(不敏感)和\C(敏感)
:%s/foo\c/bar
替换标志c表示需要确认
:%s/foo/bar/gc
v进入visual模式,进行文本选择
V进入visual line模式,进行行选择
ctrl+v进入visual block模式,进行块选择
先选中,在索引:选择文本/行/块之后,使用shift+>进行缩进
直接使用行号进行索引::5,10< 表示第五行到第十行向左缩进一个tab
You can also just type (without visual mode):
:<range>!commond
自动对齐代码可以试下此命令:gg=G
:{range}left [margin]
{range}指需要对哪些行进行操作;
[margin]指最终该行首字符据屏幕左边缘的距离,若不指定,则默认紧靠屏幕左边缘。
如 1,3 left 5
:{range}center [width]
[width] 是一个可选项,用来确定要居中的行的宽度。如果没有指定 [width],则默认使用 'textwidth' 的值。(如果'textwidth' 是 0,则默认为 80)
:{range}right [width]
[width] 是一个可选项,用来确定要右对齐的行的宽度。如果没有指定 [width],则默认使用 'textwidth' 的值。(如果'textwidth' 是 0,则默认为 80)
%!column -t
使用外部命令column -t命令来实现对齐功能(默认使用空格分割每行中的各个部分,并且使用左对齐)
转载地址:http://ngspi.baihongyu.com/