在Linux中,当你需要给命令绑定⼀个宏或者按键的时候,应该怎么做呢?

news/2024/10/6 3:33:19/文章来源:https://www.cnblogs.com/huangjiabobk/p/18288723

在Linux中,给命令绑定一个宏或者按键通常涉及到使用shell的内置命令或者编辑器(如vim)的宏定义功能。以下是详细的步骤和方法:

1. 使用bash的bind命令

bash shell的bind命令允许你更改bash对键盘上按下的键和键组合的响应方式,从而实现宏或按键的绑定。

基本步骤
  1. 查找按键的字符序列:

    • 使用Ctrl + V后跟想要绑定的按键(如F12),可以在bash中显示该按键的字符序列。例如,F12可能会显示为^[[24~
    • 也可以使用showkey -a命令来查看按键对应的字符序列。
  2. 编写bind命令:

    • 使用

      bind
      

      命令将按键的字符序列与想要执行的命令或函数绑定起来。例如,将F12绑定到执行

      date
      

      命令,可以使用如下命令(注意双引号和单引号的正确使用):

      bind '"\e[24~":"date\n"'
      

      注意:

      \n
      

      表示命令执行后的换行。

  3. 测试绑定:

    • 按下绑定的按键(如F12),观察是否执行了预期的命令(如显示了当前日期和时间)。
进阶用法
  • 查看所有绑定:使用bind -p命令可以查看当前所有的按键绑定。
  • 删除绑定:使用bind -r后跟按键的字符序列来删除特定的绑定。
  • 将绑定保存到配置文件:为了使绑定永久生效,可以将bind命令添加到bash的配置文件(如~/.bashrc/etc/bash.bashrc)中。
2. 使用vim的宏定义

在vim编辑器中,你可以通过录制一系列命令来定义宏,并通过按键来触发这些宏。

基本步骤
  1. 开启宏录制:
    • 在命令模式下,按下q键,然后按下你想要用来触发宏的按键(如a)。此时,vim会进入宏录制模式,并显示“recording”提示。
  2. 录制宏:
    • 执行你想要录制的一系列命令。例如,移动光标、插入文本、删除文本等。
  3. 结束宏录制:
    • 再次按下q键,结束宏的录制。
  4. 触发宏:
    • 在命令模式下,按下@键,然后按下你之前设置的宏触发按键(如a),vim就会执行之前录制的宏。
进阶用法
  • 编辑宏:你可以通过再次录制相同的宏来覆盖它,或者通过查看vim的寄存器(使用:reg命令)来查看和编辑宏的内容。
  • 自动化任务:vim的宏功能非常适合于重复性的任务,如格式化代码、批量修改文本等。
3. 注意事项
  • 按键的字符序列可能会因不同的终端或终端模拟器而有所不同,因此在使用bind命令时,请确保你获取了正确的字符序列。
  • bind命令是bash特有的,如果你在使用其他shell(如zsh或fish),则需要查找相应的命令或插件来实现类似的功能。
  • vim的宏定义功能非常强大,但也需要一定的学习和实践才能熟练掌握。建议通过查阅vim的官方文档或在线教程来进一步了解vim的宏定义和其他高级功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739852.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端取唯一标识 UUID

// 使用工具 fingerprintjs 可以简单取到UUID1 <!DOCTYPE html>2 <html lang="en">3 4 <head>5 <meta charset="UTF-8">6 <meta http-equiv="X-UA-Compatible" content="IE=edge">7 <meta nam…

srpingboot 自定义 start

自动配置工程绑定配置文件,上逼格的 start 都支持自定义配置,我们也装像点~~ @ConfigurationProperties("cyrus.hello") public class CyrusHelloProperties {// 绑定配置文件 cyrus.hello.username 属性private String username;public String getUsername() {re…

Spring 配置文件加密

前文 在某些场景下,使用 Spring 作为开发组件时,不可避免地需要使用到配置文件,然而,对于配置文件中的某些敏感数据(如密码等信息字段),如果使用明文的方式,则可能在一定程度上导致信息泄露。为此,需要一种有效的方式来对这些字段进行加密处理,当前主流的一种加密方式…

博客搭建-图床篇

我们的博客难免少不了图片,图片管理是一个不小的难题。我们的博客难免少不了图片,图片管理是一个不小的难题。如果我们将图片全部放到我们自己的服务器上,那么带宽就基本上会被图片所占满了,这会导致网站加载很慢(特别是图片加载很慢)。 ‍ 什么是图床 为了解决图片的问题…

FPGA以太网学习-RGMII与GMII

以太网口都叫RJ45接口,从功能角度说,网口只是信号连接,本身没有通信能力。PHY(物理层),这边需要一个芯片,将并行的以太网数据到符合以太网物理层链路数据传输格式的电平信号转换。 上图PHY右边是经过编码后的串行数据信号,左侧是提供多种并行信号。网络变压器连接串行信…

网络通信系统的voronoi图显示与能耗分析matlab仿真

1.程序功能描述两层基站(BS)组成整个通讯网络,第 1 层为 Macro 基站记为 ,第 2 层为 Micro 基站记为 ,均服从泊松分布,相互独立,在坐标为 1010km 的面积内、按照泊松分布随机生成若干个点(随机抛洒两遍 nodes,两层叠加起来)。然后画成 voronoi 图: 也就是在相邻两个…

Django详细笔记

django 学习 特点快速开发 安全性高 可伸缩性强URL 组成部分 URL: 同意资源定位符 一个URL由以下几部分组成 scheme://host:port/path/?query-string=xxx#anchorscheme: 代表的是访问的协议,一般为http或https协议 host: 主机名,域名 port: 端口 http 默认:80端口 …

关于虚拟机的使用

1、从网上下载了Centos7 2024年CentOS镜像下载地址,包括CentOS官网、国内镜像下载,超详细教学,小白也能学会。-CSDN博客 2、通过VMware添加了该iso文件,打开虚拟机之后安装该系统就可以了 3、进入之后我们需要进行软件安装、安装位置、KDUMP、网络和主机名的修改操作其中,…

LSTUR论文阅读笔记

Neural News Recommendation with Long- and Short-term User Representations论文阅读笔记 这个同样是一篇很老但是比较经典的文章,这里来读一下 Abstract 存在的问题: ​ 用户通常既有长期偏好,也有短期兴趣。然而,现有的新闻推荐方法通常只学习用户的单一表征,这可能是…

实战篇——文件包含漏洞一

实战篇——文件包含漏洞(1) 本地文件包含 本地文件包含一般需要依赖文件上传漏洞。如果文件上传漏洞限制上传文件的后缀必须为.jpg,那么配合本地文件包含,就可以通过上传图片木马获得服务器权限。 上传图片木马:利用本地文件包含,成功连接一句话木马:可见本地文件包含最大…

XShell连接失败解决

实现:宿主机的 Windows 和虚拟机的 Linux 能够进行网络连接,同时虚拟机的 Linux 可 以通过宿主机的 Windows 进入互联网简而言之:Windows 和虚拟机的 Linux能够互相ping成功解决的问题:XShell连接不成功第一步:编辑 VMware 的网络配置然后全部点击确定,VMware 的网络配置…

基于负相关误差函数的4集成BP神经网络matlab建模与仿真

1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 MATLAB2022a3.部分核心程序while(Index<=Max_iteration) Indexjj=1; error2 = zeros(Len,KER);while(jj<=Len) for k=1:No;d(k)=T(jj); endfor i=1:NI;x(i)=P(jj,i);end%集成多个BP神经…