外部命令 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. NumPy 随机数据分布与 Seaborn 可视化详解

    随机数据分布 什么是数据分布? 数据分布是指数据集中所有可能值出现的频率,并用概率来表示.它描述了数据取值的可能性. 在统计学和数据科学中,数据分布是分析数据的重要基础. NumPy 中的随机分布 N ...

  2. PStorm 安装与破解

    官方下载地址: https://www.jetbrains.com/zh-cn/phpstorm/promo/?utm_source=baidu&utm_medium=cpc&utm_ ...

  3. objectarx 之让用户自定义插件命令

    #include <iostream> #include <fstream> virtual AcRx::AppRetCode On_kInitAppMsg (void *pk ...

  4. MySQL查看实时执行的SQL语句

    MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源. 要开启这个功能,稍微配置一下,打开这个LOG记录就可以了. 1 查看LOG功能 首先,查看是否已经开启实时SQL语句记录. mys ...

  5. latex图片格式问题解决(viso转PDF转eps)

    latex图片格式问题解决(viso->PDF->eps) 1.viso绘图 如何让界面自动适应图的大小? 设计->大小->适应绘图 如何将VISIO图转换为PDF? 文件-& ...

  6. 30万奖金池鼓励工控人,AIRIOT智慧物联应用场景创新大赛等你来战!

    随着工业和智慧领域数智化发展步伐的逐步加快,智慧物联应用场景越来越广泛,涵盖了智慧城市.智能园区.智慧能源.智慧电力.智能制造.工业物联网等多个领域.航天科技控股集团股份有限公司举办[AIRIOT智慧 ...

  7. k8s中查看pod的yaml文件的案例

    在Kubernetes (K8s) 中,Pod 的 YAML 文件定义了 Pod 的配置和规格.当你想要查看 Pod 的 YAML 文件参数参考时,通常是为了了解可以配置哪些字段以及这些字段的含义. ...

  8. Linux下,安装单机版Flink

    安装前准备 jdk环境 开始安装 下载安装包 地址1:https://archive.apache.org/dist/flink/flink-1.18.0/flink-1.18.0-bin-scala ...

  9. Spring扩展———自定义bean组件注解

    引言 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制. Java 语言中的类.方法.变量.参数和包等都可以被标注.和 Javadoc 不同,Java ...

  10. Github上优秀的.NET Core开源项目的集合【转】

    一般 ASP.NET Core Documentation - 官方ASP.NET核心文档站点. .NET Core Documentation - .NET Core,C#,F#和Visual Ba ...