外部命令 external

回忆

  • 上次研究的是global
  • :[range]global/{pattern}/{command}

    • range 是执行的范围
    • pattern 是搜索的模式
    • command 执行的命令
  • 命令有很多

    • d 删除
    • m 移动
    • t 拷贝
    • p 打印
    • s 替换
    • sort 排序
    • update 更新
  • global 是很好用的内部命令
  • 据说vim还可以执行外部命令呢?!
  • 怎么玩呢?

回忆外部命令

  • :!ls

    • 在命令行列表
  • :!python %

    • 运行python程序额
  • :!javac %

    • 编译java程序

r读取

  • :r oeasy.txt
  • :r !ls
  • :r !ls -lah
  • :r !cat oeasy.txt
  • :r !curl -s 'http://oeasy.org'
  • 这样就可以把各种信息直接读到vim中了

我杀死我自己

  • :!ps

  • :!kill -9 341

tr命令translate

  • :.!tr '[:lower:]' '[:upper:]'

    • .!

      • 当前行执行外部命令`
    • !tr '[:lower:]' '[:upper:]'

      • 调用外部命令把小写字母translate成大写字母
  • :%!tr '[:lower:]' '[:upper:]'

    • 全部行都执行
  • :1,2!tr '[:lower:]' '[:upper:]'

    • 1、2行执行

awk

  • awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan

  • :%!awk '{print $1}'
  • u回来
  • 再试试:%!awk '{print $2}'

管道pipe

  • :%!awk 'NR > 1' | sort -nk 3 | column -t

    • %! 执行范围range是所有行
    • awk 'NR > 1' 从第二行开始awk
    • | 管道
    • sort -nk 3 使用第3列进行排序
    • column -t 用空格隔开

总结

  • 这次我们尝试了一下各种在vi中执行外部程序

    • 可以排序
    • 可以改大小写
    • 还可以用管道
    • 直接对于缓冲buffer文件进行操作
    • 还是很方便的
  • 其实还有一个外部命令很重要

    • 根据内容搜索grep
    • 这个怎么和vim配合呢?
  • 下次再说!

oeasy教您玩转vim - 86 - # 外部命令external Command的更多相关文章

  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教您玩转python - 006 - # hello world

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

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

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

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

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

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

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

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

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

随机推荐

  1. 鸿蒙HarmonyOS实战-Stage模型(AbilityStage组件容器)

    前言 组件容器是一种用于管理和组织组件的工具或环境.它可以提供一些基本的功能,如组件的注册.创建.销毁和查找.组件容器通常会维护一个组件的依赖关系,并负责将这些依赖注入到组件中.它还可以提供一些其他的 ...

  2. 给大家分享一套非常棒的python机器学习课程

    给大家分享一套非常棒的python机器学习课程--<AI小天才:让小学生轻松掌握机器学习>,2024年5月完结新课,提供配套的代码+笔记+软件包下载!学完本课程,可以轻松掌握机器学习的全面 ...

  3. rocketmq 搭建配置

    broker组1: # NameServer地址 namesrvAddr=192.168.1.100: 9876;192.168.1.101: 9876 # 集群名称 brokerClusterNam ...

  4. MyBatis反射模块源码分析

    说明:本文参考至https://www.jianshu.com/p/baba62bbc107 MyBatis 在进行参数处理.结果映射时等操作时,会涉及大量的反射操作.为了简化这些反射相关操作,MyB ...

  5. Python 自动化爬虫利器 Playwright

    Python 自动化爬虫利器 Playwright Python Playwright 是一个基于 Node.js 的自动化测试库,它支持多种浏览器(Chrome.Firefox.Safari.Edg ...

  6. Vue cli之项目执行流程

    整个项目是一个主文件index.html,index.html中会引入src文件夹中的main.js,main.js中会导入顶级单文件组件App.vue,App.vue中会通过组件嵌套或者路由来引用其 ...

  7. minio-搭建个人云存储服务

    相信风靡全球的亚马逊 AWS S3 的存储云服务大家已经耳熟能详了,如何自己搭建一个私有的S3存储云服务呢?Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存.非结构化 ...

  8. android端http请求重发问题定位过程

    昨天生产系统上报出一个问题:用户做一次扫码交易,出现了两条交易记录.幸好支付渠道对支付码有限制只成功了一笔,没有出现多扣钱的问题.现在我们要排查一下,为什么做一次操作会出现两条交易记录.我们的后台服务 ...

  9. 鸿蒙HarmonyOS实战-ArkTS语言基础类库(概述)

    一.概述 1.什么是语言基础类库 语言基础类库,也称为标准库或核心库,是编程语言提供的一组内置的基础功能和常用工具的集合.它通常包含了各种数据结构.算法.输入输出处理.字符串处理.日期时间处理.文件操 ...

  10. 解决 idea web项目没有小蓝点的问题

    在idea导入web项目,项目没有显示小蓝点,无法添加 java文件和运行.如下图的springboot-schedule 和 springboot-test 都没有蓝点: 解决方案一: 点击 Fil ...