由于工作原因,使用vim次数越来越多,因此将工作中使用频率较高的方法以及快捷键记录并和大家分享。
适合读者:vim已经入门,希望学习更多技巧
1.hjkl来进行方向移动
2.i/a/o进行插入
3.d/y/等拷贝粘贴
4.:wq保存
以上四个常用命令熟悉的情况下VIM的NOMRAL模式和INSERT模式随便切换下则可以达到VIm入门的效果了
按照使用功能分别进行记录,后续持续更新
一、插入
o:当前行下行插入 O:当前行上面一行插入 i:当前光标前 I:行首插入 A:行尾 a:光标后
cw:删除当前字符,并进入插入模式
二、替换
r:替换一个字符 R:连续替换多个字符 cw:即删除光标位置到字符结尾的字符并切换到插入模式,同理c2w即两个单词 单词变大写和小写 gU:变大写 gu:变小写
~:可视下替换一个字符的大小写
三、跳转
ngg或者nG n表示所在的行 0:行头 ^:本行第一个不是blank的字符位置(blank:空格、tab、回车等) $:行尾 (用的少)g_:行尾不是blank的字符位置 • * 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个) Ctrl-U调到文本首行
f+m跳转到本行中第一次出现m的位置(f为跳转命令)
在当前行上移动光标: 0 ^ $ f F t T , ;
0:移动到行首
^:移动到本行第一个非blank字符
f+字符:向前跳转到对应字符,例如fa:即跳转到下一个a的位置
F+字符:向后跳转到对应字符
t类似于f,变为字符的之前一个字符
T类似于F:变为字符之前的一个字符
3fa → 在当前行查找第三个出现的a
组合:dt+字符,删除遇到此字符之前的字符
margin-bottom:
如果光标在“-”这,此时输入dtm则变成
margin-m:
四、复制粘贴
y:复制 p:粘贴(小写p:行的下一行;P:当前行之前的行) yw则可以复制一个单词 同理,可以复制多个单词 高亮显示:hls==hlsearch high light search 部分匹配:is==incsearch 不区分大小写:set ic
五、撤销和 恢复
u:撤销 c-r:重做
六、重复上述动作
1. "."重复上个动作 N<command> 例如:2dd删除两行,3p粘贴3次文本等,100ihi [ESC](则能完成输入100次的hi),3u(向前恢复三步)
七、区域选择
区域选择 <action>a<object> 或 <action>i<object> 一般用的比较多的即vi[对象] v+i+“"”即选中分号里面内容 action:y、d、v或者其他任意命令 object:w、W、s(一个句子)、p(一个段落),也可以是一个特别的字符 :"、 '、 )、 }、 ]。 块操作:c-v 典型的操作: 0 <C-v> <C-d> I-- [ESC] 当前行到最后一行行首添加“--”字符,例如 XeLaText XeLaText XeLaText --XeLaText --XeLaText --XeLaText 常用注释使用
八、保存文件并退出
1.保存 :wq :x ZZ (ZZ不需要冒号)