vim常见操作
Posted sole_cc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim常见操作相关的知识,希望对你有一定的参考价值。
vim的一些常见有用操作,记录在此,便于遗忘的时候查看,后续发现新的好用操作,也会不断补充
1 替换
:作用范围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
2 缩进
v进入visual模式,进行文本选择
V进入visual line模式,进行行选择
ctrl+v进入visual block模式,进行块选择
先选中,在索引:选择文本/行/块之后,使用shift+>进行缩进
直接使用行号进行索引::5,10< 表示第五行到第十行向左缩进一个tab
3 在vim中如何使用外部命令
You can also just type (without visual mode):
:<range>!commond
4 对齐
自动对齐代码可以试下此命令:gg=G
:rangeleft [margin]
range指需要对哪些行进行操作;
[margin]指最终该行首字符据屏幕左边缘的距离,若不指定,则默认紧靠屏幕左边缘。
如 1,3 left 5
:rangecenter [width]
[width] 是一个可选项,用来确定要居中的行的宽度。如果没有指定 [width],则默认使用 'textwidth' 的值。(如果'textwidth' 是 0,则默认为 80)
:rangeright [width]
[width] 是一个可选项,用来确定要右对齐的行的宽度。如果没有指定 [width],则默认使用 'textwidth' 的值。(如果'textwidth' 是 0,则默认为 80)
%!column -t
使用外部命令column -t命令来实现对齐功能(默认使用空格分割每行中的各个部分,并且使用左对齐)
以上是关于vim常见操作的主要内容,如果未能解决你的问题,请参考以下文章