缩写abbreviation

回忆上次折叠的细节

  • 这次了解到了:mkview:loadview
  • 保存和加载视图
  • 可以把当前的状态保存下来
  • 可以在 viewoption 中配置保存选项,设置哪些需要保存
  • 还可以保存多个视图

    • 在整个文档中跳来跳去
  • 视图里面可以有很多本地窗口的设置

    • 折叠
    • 缩写
    • 映射
  • 那么到底什么是缩写(abbreviations)和映射(mappings)呢?

缩写就是abbreviations)

  • 缩写之类的东西我们早就见过

    • :se nu
    • :se[t] nu[mber]
  • 不用都打上,打上缩写形式就自动能好使

  • 类似的还有

    • :%s
    • 等价于:%substitute

缩写abbreviation

  • 我们可以快速地定义缩写
  • :abbreviate hi hello

    • 这个时候如果输入hi空格
    • hi就自动变成了hello
    • 不过目前系统配置有点问题

调整设置

  • 当前系统配置有点问题
  • 需要看一下 ~/.vimrc

  • 把177这句 set paste 是控制粘贴用的
  • 有的时候粘贴出来时对不齐就用 :set paste
  • 粘贴完之后 :set nopaste
  • 现在我们 :set nopaste 确保缩写可以用起来

设置缩写

  • 这有点像颜文字转化工具
  • :abbreviate sml ヾ(❀╹◡╹)ノ~

    • 还挺好使 哈哈
  • 还可以使用缩写形式ab

    • :ab o1z oeasy
  • 还可以用来改错

    • :ab teh the
  • 不论是在插入模式下,还是在命令行模式下
  • 只要输入缩写形态,然后加一个空格
  • 就自动完成切换

  • 这个东西其实还是有一定实用性的

    • :ab sysout System.out.println();
    • 不过我可以控制最终的光标位置么?

光标的控制

  • 定义新的缩写

    • :ab sysout System.out.println("");<left><left><left>
    • 这样就可以在快速得到输出语句之后
    • 还把光标放在最合适的位置

  • 这样就可以快速插入一些复杂的语句
  • 那么这个可以换行么?

添加换行符号

  • :ab htmlbase <html><cr><tab><head></head><cr><body></body><cr><backspace></html><up><right><right>

  • 这样就可以快速插入一些更大规模的模板之类的内容
  • 目前有什么缩写abbreviate
  • 可以列表出来么

列出所有的缩写abbreviate

  • ab[breviate]可以列出所有的缩写

  • 第一列代表使用范围

    • ! - 全部模式包括输入和命令行
    • i - 输入模式 insert
    • c - 命令行模式 command
  • 单独定义某模式下的ab

    • :iab o1z oeasy 只在插入模式下进行缩写替换
    • :cab o1z oeasy 只在命令模式下进行缩写替换
    • :ab o1z oeasy 在全部模式下都能进行缩写替换

取消缩写

  • :ab先看看有啥
  • :una o1z

  • :ab 发现这个o1z已经删除了
  • 清空 clear
  • :iabc[lear]

    • 清空输入(insert)状态下的缩写abbreviate
  • :cabc[lear]

    • 清空命令(command)状态下的缩写abbreviate
  • :abc[lear]

    • 清空一切状态下的缩写abbreviate

  • 一个个定义映射有点麻烦
  • 我能直接利用曾经写过的单词么?

自动补全

  • 我们的缓冲中有很多已经写出来的单词
  • 我们可以用这些来做自动补全
  • 我们写下S然后按下ctrlp

    • 出现一个提示框我们可以选择里面的单词
    • ctrlp - previous
    • ctrln - next
    • 随着输入的进行还可以缩小查找范围

  • 这个东西也是非常实用的小技巧

总结

  • 这次了解到了:abbrivate缩写
  • 可以定义缩写

    • :ab o1z oeasy
    • 这里面还可以包括方向键、回车键之类的东西
  • 可以定义到指定的模式

    • iab
    • cab
  • 查看缩写

    • :ab - 所有的
    • :ab o1z - o1z
  • 自动补全

    • ctrlp
    • ctrln
  • 这些缩写都可以保存在视图里

    • 保存的选项在viewoption
  • 可以保存的除了 缩写abbreviate 还有个 映射map
  • 映射map 什么意思呢?
  • 下次再说!

[Github地址] (https://github.com/overmind1980/oeasyvim)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux 蓝桥云课)

oeasy教您玩转vim - 72 - # 缩写abbreviation的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

随机推荐

  1. Javascript/DOM:如何删除 DOM 对象的所有事件侦听器

    Javascript/DOM:如何删除 DOM 对象的所有事件侦听器 一.重写 重写 EventTarget 添加监听事件方法 addEventListener if (EventTarget.pro ...

  2. IDS4 傻瓜式实践指南

    前言: 这是一篇实践指南,不会过多的解释原理(因为我也说不清楚,想了解的同学请移步老张的博客,里面有非常详细的介绍),本篇文章讲解如何简单的使用IDS4来实现单点登录,以及遇到的一些坑实现功能: 1. ...

  3. CSS操作——文本属性

    1.font-style(字体样式风格) /* 属性值: normal:设置字体样式为正体.默认值. italic:设置字体样式为斜体.这是选择字体库中的斜体字. oblique:设置字体样式为斜体. ...

  4. Android 12(S) Binder(一)

    今天开始了解一下binder,就先从ServiceManager开始学习. 网上的相关博文普遍是Android 11之前的,阅读时对比Android 11或12的代码发现有很多内容找不到了,比如 fr ...

  5. 一键云部署:ROS的Terraform托管服务助你轻松上线2048经典游戏

    在现代云计算环境中,自动化部署已经成为一项重要的任务.Terraform,作为HashiCorp公司的一款开源工具,以其强大的基础设施即代码(IaC)能力,使得我们能够轻松管理和部署各种云资源. 阿里 ...

  6. Bi-encoder vs Cross encoder?

    本文永久地址:https://wanger-sjtu.github.io/encoder-cross-bi/ Bi-encoder和Cross-encoder是在自然语言理解任务模型的两种不同方法,在 ...

  7. 记一次 .NET某质量检测中心系统 崩溃分析

    一:背景 1. 讲故事 这些天有点意思,遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系,真的有点无语,今天就带给大家一例 IIS 相关的与大家分享,这是一家国企的.NET程序,出现 ...

  8. INFINI Labs 产品更新 | 发布 Easysearch Java 客户端,Console 支持 SQL 查询等功能

    近年来,日志管理平台越来越流行.使用日志管理平台可以实时地.统一地.方便地管理和查看日志,挖掘日志数据价值,驱动运维.运营,提升服务管理效率. 方案架构 Beats 是轻量级采集器,包括 Filebe ...

  9. “Newtonsoft.Json”已拥有为“Microsoft.CSharp”定义的依赖项。

    安装较低版本的Newtonsoft.Json: Newtonsoft.Json官网:https://www.nuget.org/packages/Newtonsoft.Json/ Install-Pa ...

  10. 三月二十一日 安卓app个人作业开发

    已经完成了 登录 和 注册逻辑 目前还有 提交打卡记录 的 开始时间 和 结束时间没有弄好 还有个人打卡记录的显示问题 并且我希望增加 修改个人密码 显示个人信息 退出登录 返回页面 删除打卡记录 的 ...