oeasy教您玩转vim - 72 - # 缩写abbreviation

缩写abbreviation 回忆上次折叠的细节

  • 这次了解到了:mkview:loadview
  • 保存和加载视图
  • 可以把当前的状态保存下来
  • 可以在 viewoption 中配置保存选项,设置哪些需要保存
  • 还可以保存多个视图
    • 在整个文档中跳来跳去
  • 视图里面可以有很多本地窗口的设置
    • 折叠
    • 缩写
    • 映射
  • 那么到底什么是缩写(abbreviations)和映射(mappings)呢?
缩写就是abbreviations)
  • 缩写之类的东西我们早就见过
    • :se nu
    • :se[t] nu[mber]
  • 不用都打上,打上缩写形式就自动能好使
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 类似的还有
    • :%s
    • 等价于:%substitute
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

缩写abbreviation
  • 我们可以快速地定义缩写
  • :abbreviate hi hello
    • 这个时候如果输入hi空格
    • hi就自动变成了hello
    • 不过目前系统配置有点问题
调整设置
  • 当前系统配置有点问题
  • 需要看一下 ~/.vimrc
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 把177这句 set paste 是控制粘贴用的
  • 有的时候粘贴出来时对不齐就用 :set paste
  • 粘贴完之后 :set nopaste
  • 现在我们 :set nopaste 确保缩写可以用起来
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

设置缩写
  • 这有点像颜文字转化工具
  • :abbreviate sml ヾ(????)?~
    • 还挺好使 哈哈
  • 还可以使用缩写形式ab
    • :ab o1z oeasy
  • 还可以用来改错
    • :ab teh the
  • 不论是在插入模式下,还是在命令行模式下
  • 只要输入缩写形态,然后加一个空格
  • 就自动完成切换
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 这个东西其实还是有一定实用性的
    • :ab sysout System.out.println();
    • 不过我可以控制最终的光标位置么?
光标的控制
  • 定义新的缩写
    • :ab sysout System.out.println("");
    • 这样就可以在快速得到输出语句之后
    • 还把光标放在最合适的位置
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 这样就可以快速插入一些复杂的语句
  • 那么这个可以换行么?
添加换行符号
  • :ab htmlbase
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 这样就可以快速插入一些更大规模的模板之类的内容
  • 目前有什么缩写abbreviate
  • 可以列表出来么
列出所有的缩写abbreviate
  • ab[breviate]可以列出所有的缩写
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 第一列代表使用范围
    • ! - 全部模式包括输入和命令行
    • i - 输入模式 insert
    • c - 命令行模式 command
  • 【oeasy教您玩转vim - 72 - # 缩写abbreviation】单独定义某模式下的ab
    • :iab o1z oeasy 只在插入模式下进行缩写替换
    • :cab o1z oeasy 只在命令模式下进行缩写替换
    • :ab o1z oeasy 在全部模式下都能进行缩写替换
取消缩写
  • :ab先看看有啥
  • :una o1z
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • :ab 发现这个o1z已经删除了
  • 清空 clear
  • :iabc[lear]
    • 清空输入(insert)状态下的缩写abbreviate
  • :cabc[lear]
    • 清空命令(command)状态下的缩写abbreviate
  • :abc[lear]
    • 清空一切状态下的缩写abbreviate
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 一个个定义映射有点麻烦
  • 我能直接利用曾经写过的单词么?
自动补全
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 我们的缓冲中有很多已经写出来的单词
  • 我们可以用这些来做自动补全
  • 我们写下S然后按下ctrlp
    • 出现一个提示框我们可以选择里面的单词
    • ctrlp - previous
    • ctrln - next
    • 随着输入的进行还可以缩小查找范围
oeasy教您玩转vim - 72 - # 缩写abbreviation
文章图片

  • 这个东西也是非常实用的小技巧
总结
  • 这次了解到了:abbrivate缩写
  • 可以定义缩写
    • :ab o1z oeasy
    • 这里面还可以包括方向键、回车键之类的东西
  • 可以定义到指定的模式
    • iab
    • cab
  • 查看缩写
    • :ab - 所有的
    • :ab o1z - o1z
  • 自动补全
    • ctrlp
    • ctrln
  • 这些缩写都可以保存在视图里
    • 保存的选项在viewoption
  • 可以保存的除了 缩写abbreviate 还有个 映射map
  • 映射map 什么意思呢?
  • 下次再说!
[Github地址] (https://github.com/overmind19...)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux 蓝桥云课)

    推荐阅读