vim使用技巧记录

1.查找

'/' + 要找的字符串(正则表达式) + Enter

# 查找偏移
'n': 查找下一个
'N': 查找上一个

大小写敏感性:字符串尾接\c不敏感,\C敏感

可以~/.vimrc在配置中配置set ignorecase;还可以配置set smartcase,在有大写字母时切换回到小写敏感

2.光标移动

文件为单位

# 移至文件首
'gg'
':' + '0' + Enter (命令模式,0改成1也可)

# 移至指定行 num行
num + 'gg'
num + 'G'

# 移至文件尾
'G' (即 Shift + 'g')
':' + '$' + Enter (命令模式)

行为单位

# 移至行首
'0'
'^'

# 移至行尾
num + '$': 移动到当前行起(含)第num行行尾;若num=1可省略

其实直接在.vimrc中设置set mouse=a会很舒服(或在已打开的vim中输入:set mouse=a),就变成鼠标操作了;但我自己在tmux里这样可行,不在tmux中反而失效了,挺怪的没搞清

3.经典文本处理

回退:

'u': 撤销
Ctrl + 'r': 反撤销

粘贴:

'p': 将剪切板内容粘贴到光标选择内容之后
'P': 将剪切板内容粘贴到光标选择内容之前

关于光标光标选择内容
命令行里光标总是笼罩着一个字符,但其实应将光标填充块首位置当作光标位置。如是认为:光标指向间隙,不指向字符,只有前后的概念
约定: 光标填充块-光标选择内容;光标填充块首位置-光标位置

复制:

'y' + 左右键: 复制光标前/后的单字符;

'y' + num + 'w': 复制光标后字符为首的num个词(尾部无空白字符);若num=1可省略;
	# 分词依据即空格分词
num + 'y' + 'y': 复制光标所在行及以下num行;若num=1可省略;
	# 注意行尾的\n(\r\n)。若在行首使用yy并接着按p,会在下方出现一摸一样的一行,下面的那行这其实是被复制行挤下去的

'y' + '0': 复制行首到光标前的内容;
'y' + '$': 复制光标后到行末的内容;

删除:

'd' + 左右键: 删除光标前/后的单字符

'd' + num + 'w': 删除光标后字符为首的num个词;若num=1可省略;
num + 'd' + 'd': 删除光标所在行及以下num行;

'd' + '0': 删除行首到光标前的内容;
'd' + '$': 删除光标后到行末的内容;

很多操作都是对称的,闻一知三

4.可视化选择

可视化模式
v: 从当前光标选择内容起,按左右键以字符粒度进行选择;当前光标选择字符必定被选中,即不存在选择内容空的情况
V: 从当前光标选择内容起,按上下键以行粒度进行选择;当前光标选择行必定被选中

按相同的键即可退出

5.批量替换

类似sed的s命令用法

在每行行首加'//'(块注释)

':%s/^/\/\/' + Enter
# '/'需要用'\'转义
posted @ 2022-03-20 20:04  Xlucidator  阅读(70)  评论(0编辑  收藏  举报