vim_技巧备忘
pre_old_time:
/*** 然后按下enter按键,就可以用n来跳转 N回跳
编辑模式下 输入 【 :noh 】 可以取消高亮
- 从当前行开始进入编辑模式
- vim ---- f命令可以定位到指定字符,;右重复,,向左重复
- 移动到前一个单词的末尾:ge
- d0:删除当前位置到行开头的所有内容,不会删除光标一开始指向的那个字符
- d$ 会删除当前位置到行末尾的所有内容,包含行末尾在内的字符也都会被删除。
c 取 change 的首字母,这个命令的便捷之处在于将「删除操作」和「进入编辑模式」合二为一,可以少按一个键。
- cw:更改下一个单词,等同于 dw + i
- c2w:更改后两个单词,等同于 d2w + i
- c$:更改从当前位置到行结束的所有内容,等同于 d$ + i
- C-z 可以从shell中回到command line ,fg可以回到vim界面
执行替换 :s/target/replacement 重复: & 撤销: u
查找当前光标下的单词 *
数字1+ <C-a > 如果光标是在数字2字符上面,则会将数字2变为数字1+数字2
<C-x>是减1
如果光标不在数字上面,则会搜寻这一行,再加上
^到达代码行首
g~ 翻转大小写
gu 转换为小写
gU 转换为大写 gUU 作用于当前行
> 增加缩进
< 减小缩进
= 自动缩进
! 使用外部程序过滤所跨越的行
<C-h> 删除前一个字符
<C-w> 删除前一个单词
<C-u> 删除至行首
<C-r>0 把刚才复制的文本粘贴到光标所在位置'
SPC t S 拼写指定检查
V 是面向行的可视模式
<C-v> 面向列块的可视模式,变为对一列操作
gv 重选上次的高亮选区
o 切换高亮选区的活动端:高亮选区有两个端点确定,其中一段固定,另外一端可以随着光标自由移动,可以使用o来更换活动的端点
从可视模式切换到普通模式可以再按一次v
可视模式下选中文本之后,直接按下U,就可以将小写转换为大写。但是最好还是用普通模式下面的gU
在列表可视模式中为多行添加分号:(可以不用是正方形,即每一行的长度可以不相同)
<C-v>j j $
A;
2. 迅速跳转到某一行: 【 : n 】
跳转到文件末尾 【 : $ 】
迅速删除某一行【 : n d 】
显示某一行内容【 : n p】
显示某一个区域的内容 【 : start, end p 】eg: [ :3,5p ]
[ . ] 代表当前行的地址,所以代表从当前位置到文件末尾间的所有行:【 :.,$p】==【:%p】[%]代表整个文件
【 :%s/Practical/Pragmatic/ 】让vim将每一行的第一个practical替换为pragmatic
用高亮选区指定范围:如果我们已经用可视模式高亮了几行文本,再按下【:】时,vim会自动填充一个范围,即高亮文本的范围
3.复制某一行,copy
【 :[range] copy {address} 】==>[ :[range] t {address} ]
eg: [ :6copy. ] 为第六行创建一份副本,并放到当前行下方。可以简化为 【:6t.】,即copy==t

yyp 和 :t. 的区别是,yyp会使用寄存器,而后者不会
4.【 :m 】命令移动行
可以先用可视模式高亮文本,然后使用命令移动文本
eg: [ :'<,'>m$ ]代表选中文本之后,将文本移动到文件末尾
5.在指定范围上执行普通模式命令
确定范围之后[ normal .]
6.[ * cw n .]的混合使用
[*]将处于当前位置的单词高亮,然后n 就能跳转到下一个单词。如果使用cw【删除下一个单词并进行修改】,然后使用n,再使用【.】 就能重复之前修改的操作。
7. aw
在Vim中,`aw`是一个文本对象操作符,用于选择一个词(Word)。它的作用是选择光标所在位置的当前词(包括前后空格),并将其用于执行操作,比如复制、删除、替换等。
下面是一些示例用法:
1. 复制当前词:将光标置于待复制的词上,然后按下`yaw`,即可将当前词复制到剪贴板中。
2. 删除当前词:将光标置于待删除的词上,然后按下`daw`,即可删除当前词。
3. 替换当前词:将光标置于待替换的词上,然后按下`caw`,接着输入新的文本,即可替换当前词。
这只是一些`aw`的示例用法,实际上,Vim中有许多其他命令和操作符可以与`aw`结合使用,以实现更多功能。`aw`在编辑文本时非常有用,因为它可以快速选择并操作词级别的内容。
除了`aw`之外,Vim还提供了许多其他常用的文本对象操作符,用于选择不同的文本对象。以下是一些常见的文本对象操作符:
1. `iw`:选择当前光标所在的内部词(Inner Word),不包括前后空格。
2. `i"`:选择双引号内的文本。
3. `i'`:选择单引号内的文本。
4. `i)`:选择圆括号内的文本。
5. `i]`:选择方括号内的文本。
6. `i}`:选择大括号内的文本。
7. `ip`:选择段落(Paragraph),即连续的文本块。
8. `is`:选择句子(Sentence),即包含在句号、问号或感叹号之间的文本。
9. `it`:选择在HTML/XML标签内的文本。
10. `i>`:选择尖括号内的文本。

这些是常见的文本对象操作符示例,你可以通过组合不同的操作符和动作命令来执行各种编辑操作。例如,使用`di"`可以删除双引号内的文本,`ci(`可以更改圆括号内的文本,`vi}`可以选择大括号内的文本等等。这些文本对象操作符的组合使用使得Vim在编辑和操作文本时非常灵活和高效。
8.[zz]
zz可以将当前行的代码转移到最中央。
zt:将当前行移动到屏幕顶部。zb:将当前行移动到屏幕底部
9. 复制的使用

10. [ea]
在当前单词结尾后添加
11. [W]
12.[可视模式 + / ]
13. [d + /]
14. vim 的自动位置标记

15. 跳转到指定行
12G
16. 设置标签
[m + 字母]
返回标签:
[ ` + 字母 ]
清除标签:
:delmarks {bookmark-name}

浙公网安备 33010602011771号