vim骚操作

1. 普通模式(normal)

1.1 快速移动

    gi  跳转到最后一次编辑的地方并进入插入模式

1.1.1 单词间快速移动

3w移到后面第三个word开头W移到下个WORD开头
2e移到后面第二个word结尾E移到下个WORD结尾
b移到上个word开头B移到上个WORD开头
ge移动到上一个word的词末gE移动到上一个WORD的词末

       word指以非空白符分割的单词,WORD指以空白符分割的单词

1.1.2  行间搜索移动

3fa向后搜索并移动到第三个a字符上Fa向前搜索并移到a字符上
ta向后移到a的前一个字符上Ta向前移到a的后一个字符上
;继续搜该行的下一个,继续搜该行的上一个

1.1.3 水平移动

数字0移到行首第一个字符^移到行首第一个非空白字符
$移到行尾g_移到行尾非空白字符

1.1.4 垂直移动

4(移到前面第四个句子的开头)移到下一个句子的开头
{移到当前一段的开头}移到下一段的开头
[[移到当前这一节的开头]]移到下一节的开头
%在一对() {} [] 之间移动n+回车移到n行后的行首

1.1.5 页面移动

gg/G移动到文件开头/结尾H/M/L跳到屏幕开头/中间/结尾
ctrl+u/f上下翻页ctrl+o快速返回
zt/zz/zb把光标所在行放到屏幕顶部/中间/底部30%移到文件内容30%处

1.2 删除

2x删除光标处开始后面的两个字符3X删除光标前的3个字符
daw删除光标所在单词(不保留空格)diw删除光标所在单词(保留空格)
d0删除光标到行首d$删除光标到行尾
J删除光标所在行的换行符,与下一行合并dt)删除当前位置到)前的内容 

1.3 修改

r替换单个字符R持续替换
ra将光标所在字符替换成a~改变光标所在字符的大小写
cw删除单词光标之后的部分并进入插入模式cb删除单词光标之前的部分并进入插入模式
cc/S删除一整行(保留换行符)并进入插入模式xp交换光标所在字符和下一个字符的位置
s删除当前字符并进入插入模式u撤回上一步操作

1.4  查询

/或者?向后/前搜索n/N跳到下/上一个匹配
*/#快速向前/后搜索光标所在单词并高亮显示

1.5 复制粘贴

 复制==>y(yank),粘贴==>p(put) 

y2w复制两个单词2yy复制光标所在行及其下一行
y$复制光标处到行尾的内容y0复制光标到行首的内容

2. 编辑模式(insert)

    ctrl+h   删除上一个字符
    ctrl+w   删除上一个单词
    ctrl+u   删除当前行

3. 命令模式(command)

替换 :[range]s[ubstitute]/{pattern}/{string}/[flags]
         range为替换范围 10,20 表示10-20行,%表示全部      
         pattern要替换的模式,支持正则 \<word\>可精准匹配word  string是替换后文本
         flags为替换标志位 g(global)全局范围,c(confirm)替换前确认,n(number)仅统计匹配次数
:r! echo % 插入正在编辑的文件名
:r! echo %:p 插入正在编辑的文件名的绝对路径

:s/old/new将当前行的第一个old替换为new:s/old/new/g将当前行的所有old替换为new
:90s/old/new/g将指定行的所有old替换为new:90,93s/old/new/g将指定范围内所有old替换为new
:%s/old/new/gc依次替换每个字符串关键字:%s/^struct/int/g将所有以struct开头的字符串替换为int
:set hls设置高亮显示

4. 可视模式(visual)

    v            连续字符选择
    V           连续行选择
    ctrl+v     块状选择

5. 模式切换

5.1 normal ==> insert

i插入到光标所在字符前I插入到行首第一个非空白字符前
a插入到光标所在字符后A插入到行尾左后一个字符后
o光标所在行的下一行新增空白行O光标所在行的上一行新增空白行
s删除光标所在处的字符并开始编辑S删除光标所在行并开始编辑

5.2 insert ==> normal

    ① Esc     ② ctrl+c     ③ ctrl+[

6 寄存器

无名寄存器-"" 缺省使用  使用d删除或者y复制的内容默认放到"无名寄存器"   
深入寄存器(register)-"{register} 指定寄存器而不使用无名寄存器   可以指定a-z为寄存器名
    "ayiw复制一个单词到寄存器a中 "bdd删除当前行到寄存器b中  :reg a 可以查看寄存器a的内容
    复制专用寄存器-"0 文本同时被复制到无名寄存器""和复制寄存器0
    系统剪贴板-"+  将内容复制到系统剪贴板,可以在除了vim外的其它地方粘贴 :echo has('clipboard')返回1表示支持此功能  :set clipboard=unnamed可以直接复制粘贴系统剪贴板的内容
    其他寄存器 当前文件名-"%    上次插入的文本-".

7 vim补全

   ctrl+n/p补全单词 候选列表出现时ctrl+n继续选择下一个 ctrl+p继续选择上一个
   ctrl+x/f补全文件名
   crtl+x/o补全代码(需要开启文件类型检查,安装插件)

8 vim换配色

    :colorscheme crtl+d 显示配色   也可以网上搜索vim colorscheme选择其它的配色方案 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值