码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • emacs从缓冲中获取信息,并执行shell 命令


    /* author: hjjdebug
    *  date : 2023年 09月 20日 星期三 11:39:11 CST
    *  description: emacs从缓冲中获取信息,并执行shell 命令
    */
    我有一个udp频道的列表,如下:
    239.3.1.105:8092     |  IP 61.135.101.121.8046 >
    239.3.1.124:8128     |  IP 61.135.101.118.8050 >
    239.3.1.129:8008     |  IP 61.135.101.121.8054 >
    239.3.1.132:8012    |  IP 61.135.101.121.8058 >
    其中 | 以前部分是udp 地址, 后面 IP 部分信息不重要,是说该udp是哪个机器发出的.
    我现在想把光标放到某一行,然后敲一个按键就能播出该udp码流,如何实现?

    当然,这需要两步走,
    第一步: 获取所在行的url信息
    第二步: 调用ffplay 命令,例如
    当放在第一行时,它应该调用 ffplay udp://239.3.1.105:8092

    第一步: 千回百转,我找到了 buffer-substring-no-properties函数
    并书写了line_info 从光标所在行获取感兴趣的东西, 从此elisp 再进一步
    (defun line_info()
      "get some useful info from line."
      (interactive)
      (move-beginning-of-line nil)
      (setq start (point))
      (search-forward "|")
      (backward-char)
      (setq end (point))
    ;;  (message (buffer-substring-no-properties start end))
      (buffer-substring-no-properties start end)
      )

    第二步: 我调用了shell-command() 函数
    并书写了emacs 中ffplay 函数, 来调用外部ffplay 函数,并传递给它参数
    (defun ffplay()
      "use ffplay in emacs."
      (interactive)
      (shell-command (concat "ffplay " "udp://" (line_info))
      ))

    第三步: 把命令定义到一个快捷键上,例如定义到C-c r按键上,这个简单
    (global-set-key (kbd "C-c r") `ffplay)

  • 相关阅读:
    电脑重装系统后如何在防火墙设置允许浏览器访问网络
    广和通入驻中国联通5G物联网OpenLab开放实验室,携手共赴5G扬帆新征程
    推荐算法---矩阵分解
    爬山日记1
    Java开发多年写过的BUG都在这了!!!(2022.8更新)
    自动驾驶感知算法实战15——纯视觉感知和传感器融合方案对比,特斯拉九头蛇的进化
    RestClient操作索引库
    【Java】网络编程,JUnit单元测试,设计模式
    062:vue+openlayers绘制正方形、矩形、六芒星( 代码示例 )
    【AIGC】GPT-4o技术分析-浅谈
  • 原文地址:https://blog.csdn.net/hejinjing_tom_com/article/details/133073186
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号