惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
D
Docker
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
H
Help Net Security
B
Blog
宝玉的分享
宝玉的分享

方永、南天紫雲

linux透明代理 技术的边界 停机问题通俗说明 Rust与oracle、redis集群的纠结 学习能力的增长 微信调试的原语 mac外接移动硬盘安装ArchLinux linux的死机问题 linux下全键盘操作 漂亮又好用的bspwm linux本机透明代理 ssh、mosh、autossh linux不能待机又一例 从WordPress切换到Hugo 折腾电脑开机 linux系统QQ新思路 Arch Linux的字体渲染 svn管理之submin OpenWrt自动fucking墙記錄 二维码(qrcode)名片的一些事儿 用lua nginx module搭建一个二维码(qr code)生成器 CentOS 7 安裝註記 php程序連接MySQL时只能127.0.0.1而localhost無法連接的問題 ThinkPad之FAN_ERROR、hi fi聲卡 jetty多端口部署 OpenWrt簡單暴力限網 linux中cron之PATH变量 OpenWrt的WDS無線橋接模式 再敘OpenWrt下的rtl8187無線中繼 sed之模擬tail
为cmd添加readline,如Bash Shell般使用cmd
zola · 2013-01-21 · via 方永、南天紫雲

一直以來,就希望能有工具使cmd支持readline的鍵綁定,

因爲在Windows下經常使用mintty,時而在cmd中錯輸了readline的快捷鍵,覺得非常的不便,在谷歌裏找過幾次,終於,發現了clink。

clink, Bringing Bash’s powerful command line editing to Microsoft Windows’ cmd.exe

以MIT開源協議發佈,體積也比較小巧。試用之,很好很強大。溢美之詞不再多說,鍵盤控們趕緊去下載吧。

使用也很简单,只要在clink目录下打开一具管理员权限的cmd,运行 clink.bat autorun -i 即可永久与将readline的功能附加到cmd中。实际上,是应用了cmd的一个不常用的功能,即添加cmd自动运行项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"AutoRun"="\"C:\\Program Files\\clink\\clink\" inject"

至于是怎么实现的,clink的说明里有:“将clink的DLL注入到父进程中,并使用钩子函数拦截WriteConsole()和ReadConsole()这两个API函数”。这种方法希望能够通过国内的一些杀软。

个人配置文件,在:

c:\documents and settings\<用户名>\local settings\application data (XP) 
c:\users\<用户名>\appdata\local (Vista 以上版本)

目录中clink_inputrc。可参照clink目录中的clink_inputrc

clink的功能扩展。clink是内置了lua解释器的,将lua脚本放置于clink目录或配置文件所在的目录即能自动执行。clink提供了许多函数,更多参见clink的说明文件。如下面一示例,修改cmd的提示符:

function prompt_filter()
    clink.prompt.value = "^_^ "..clink.prompt.value
    return false
end
 
clink.prompt.register_filter(prompt_filter, 50)