cmd增强工具——clink

news/2024/9/23 23:08:10/文章来源:https://www.cnblogs.com/k33t/p/18428133

作为一个喜欢折腾各种花里胡哨东西的人,我每次都会花费大量时间在这上面。cmd作为windows一个很重要的组成部分,很多时候我们都会应用到它。与新出的powershell相比,cmd的功能肯定是没有那么强大的,但其重要性绝对不输给pwsh。但是cmd真的很简单,没有命令补全,也没有这么多的快捷键,功能特性等。我偶然在github上发现了clink这个工具,在使用过程中也遇到过一些问题,因此想在这里总结一下。

1.安装

安装clink可以自己手动安装,也可以通过包管理工具安装(推荐前者

1.1包管理工具安装

winget install clink winget安装
scoop install clink scoop安装

1.2手动安装

从clink官方网站下载.zip安装文件或者.setup.exe安装文件(推荐前者

1.3安装注意事项

如果选择的是.exe安装,记得勾选Autorun when cmd.exe startsUse enhanced default settings,前者会帮你自动将clinks插入到cmd中,而后者可以帮你进行一些默认的配置,避免自己配置的时候有一些问题。

2.使用

如果是通过.setup.exe文件安装的,如果你没有进一步配置的想法,你已经可以正常的使用了。


通过.zip压缩文件安装或者包管理工具安装的,需要进行一些配置才能正常使用clink,因为一些功能没有配置完全。这里我们可以直接参考官方文档。
首先在cmd中输入clink,如果提示未找到命令,那就是需要配置环境变量了。
然后你需要在cmd中输入clink autorun install来将clink注入到cmd中,这样每次你打开cmd的时候clink就会加载了。


然后,你需要检查自己的用户文件夹(C:\Users\Username)下面是否有.inputrc文件,一般是没有的,但是如果你下载过git for windows或者其他类似的命令行软件,就会出现这个文件,这个文件可以看作是cmd的配置文件吧,跟居官方文档,你需要在其中输入以下命令:

点击查看代码
# Some common Readline config settings.set colored-stats                 on   # Turn on completion colors.
set colored-completion-prefix     on   # Color the typed completion prefix.# Some config settings that only work in Clink.$if clink
set search-ignore-case            on   # Case insensitive history searches.
set completion-auto-query-items   on   # Prompt before showing completions if they'll exceed half the screen.
$endif# Add your keybindings here...

这里面包括显示颜色以及显示补全提示的相关配置。

3.配置个性化

经过上面的配置,你的cmd已经很强大了,下面是进一步进行个性化设置。

3.1修改clink相关配置

通过clink info,我们可以发现clink的配置文件在C:\Users\Username\AppData\Local\clink文件夹下,通过编辑clink_setting这个文件,我们可以修改输入命令的各种颜色配置,推荐阅读clink颜色配置


通过clink set命令,我们可以看到所有的配置选项,因此你也可以直接通过命令进行配置

3.2通过脚本进行扩展

你可以通过clink installscripts命令来指定你的脚本路径,否则会默认把你的C:\Users\Username\AppData\Local\clink文件夹当成脚本路径。在这个路径下,你可以编写一些lua脚本或者创建一个clink_start.cmd文件,因为每次clink加载的时候都会默认加载.lua文件和clink_start.cmd文件,因此你可以用它们实现一些例如doskey别名持久化的功能。

3.3美化命令提示符prompt

clink使cmd可以像powershell那样通过配置命令提示符来增强显示。这里推荐三个美化的选项:
starthip 一个简约美观的prompt美化
oh-my-posh 一个强大但是速度稍慢的工具
clink-flex-prompt 很适合clink的prompt工具
这些工具都可以直接在搜索引擎上搜到,建议根据文档配置

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

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

相关文章

kettle从入门到精通 第八十七课 ETL之kettle kettle文件上传

1、kettle本身文件上传功能不是很友好,甚至是不能直接使用,需要调整文件上传接口才可以正常接收到文件,本次讲解内容主要是通过自定义插件解决这个问题。 2、通过springboot 编写简单demo,模拟文件上传,接口支持三个参数unitCode、password、和文件dataFile。 java代码如下…

密码学承诺原理与应用 - 概览

作者:@warm3snow https://github.com/warm3snow 微信公众号:密码应用技术实战 博客园首页:https://www.cnblogs.com/informatics/ 标签:技术分享模板目录简介承诺方案原理符号定义方案定义常见承诺方案和原理哈希承诺ElGamal承诺Pedersen承诺零知识证明承诺Sigma承诺Sigma承…

Rhino基础操作1

Rhino的基础操作,包含视图操作、物件选取等非常基础的,本篇未涉及到具体的工具。注:非结构建模专业,纯粹是用Rhino写实用新型专利,所以学了下Rhino的建模。不理解最简面、曲线阶数的影响等,请原谅。--本篇导航--常用命令、鼠标中键菜单 基础设置(修改默认单位尺寸、修改…

arm各个集成开发环境+rvds4.1

ARM 之 各集成开发环境(IDE)说明(Keil、RVDS、ADS、DS-5、MDK) - xiaoheikkkk - 博客园 (cnblogs.com)最近,ARM官网进行了较大的改版,原来很多老工具可以免费下载(付费使用),但是改版后需要有购买凭证才可以下载!部分旧工具(补丁)的具体下载地址为https://silver.a…

python代码

1.求1+2+3+4+5+6+7+8+9+102.

FreeMarker 禁止自动转义标签-noautoesc

💖简介 FreeMarker 是一个用 Java 语言编写的模板引擎,它被设计用来生成文本输出(HTML 网页、电子邮件、配置文件等)。在 FreeMarker 中,默认情况下,当你在模板中输出变量时,如果这些变量包含 HTML 标签,FreeMarker 会自动转义这些标签以防止 XSS(跨站脚本攻击)。 �…

企业级堡垒机 JumpServer

1 堡垒机和 JumpServer 生产应用场景2 JumpServer 安装 2.1 基于 Docker 部署官方说明 https://docs.jumpserver.org/zh/master/install/setup_by_fast/JumpServer 环境要求: 硬件配置: 2个CPU核心, 4G 内存, 50G 硬盘(最低) 案例:基于自定义网络利用Docker部署 JumpServe…

9.23 csp

今天模拟赛出了四道zroi的题,挺GG的。 T1、奇观 因为删除的边比较少,所以从m入手,f[i][j]表示长度为i,终点为j的链的方案数。 C 是长度为3的链,F是 1条 长度为3 的链 和 2条 长度为2 的链。 输出 CCF 即可 G T2、铁路 救命的签到题。 因为每次合并时每走一个点就会减少一个…

业财一体化视角下-电商ERP采购模块的设计

本文将深入探讨如何在采购模块的设计中有效体现业财一体化理念,从财务三大报表的基本概念出发,详细解析采购过程中的财务管理关键要素,并分享采购流程设计中应注意的重点,以期为企业提供有价值的参考和指导。业财一体化的重要性日益凸显,越来越多企业认识到业务运营与财务管…

第二十三讲:MySQL是怎么保证主备一致的?

第二十三讲:MySQL是怎么保证主备一致的? 简概开篇 ​ 在前面的文章中,我不止一次地和你提到了 binlog,大家知道 binlog 可以用来归档,也可以用来做主备同步,但它的内容是什么样的呢?为什么备库执行了 binlog 就可以跟主库保持一致了呢?今天我就正式地和你介绍一下它。毫…

破防了,遂刷一节课圆锥曲线放松大脑,原因如图

来个有缘人 #include<bits/stdc++.h> using namespace std; #define int __int128 void _print(__int128 x,bool first=true){if(x<0){putchar(-);_print(-x,false);return;}if(x==0){if(first) putchar(0);return;}_print(x/10,false);putchar((int)(x%10)+0); } #de…

9月23日总结

今天上了数据结构课,学习了线性表的增删改查;正式上了第一节Java课,学习了些Java的基本知识,运行了代码,部分运行结果如下: