IC
设计这行的很多 EDA
工具都内嵌了tcl
解释器,所以日常工作免不了和 tcl
语言打打交道。如果想写两句 tcl
代码做个测试,当然可以新建一个脚本文件,不过比较懒的做法就是打开 tclsh
直接输入想要测试的代码。
然而 tclsh
的自带的行编辑功能实在太差了:
光标不能随意移动。。。 历史命令无法追溯。。。 自动命令补全。。。(画外音:想啥呢?) 。。。
从 DOS
时代的 Turbo C
开始接触 IT
的同学可能对全屏幕编辑感到理所当然,如果回到更久远的无屏幕时代,用电传打字机(TTY
)聊会儿天可能会感到生不如死。
于是人们发明了比电传打字机更人性化的行编辑器,顾名思义,在一行内可以随意编辑,然后点击回车发送。例如现在还预装在 Linux 发行版内的行编辑器 ed
。当然这比全屏幕编辑器,例如 vi
的体验还是差上好多。
tclsh
的这种“简陋”实际上是秉承了类Unix
工具的历史特性:一个工具做并且只做它应该完成的事情。
幸好 Linux 提供了 readline library
, 可以给任意 command
提供行编辑功能。更有开发者以此为基础提供了好用的实用工具 rlwrap
, 也就是 read line wrapper
。具体的用法大家可以点击阅读原文
查看使用说明。
简要的用法大概是这样的。
rlwrap
下载安装包后,经典的三部曲就可以。
./configure
make
make install
没 root
权限的可以考虑安装在自己的 home
的某个目录(如app
)下,只需要把第一步替换为:
./configure --prefix=$HOME/app
tclsh
的启动方式用 rlwrap
来启动 tclsh
的基本命令如下。
rlwrap -c tclsh
这样启动的 tclsh
就具有基本的行编辑功能了。
rlwrap
的 filters
功能rlwrap
还支持多词关键字补全。需要先准备一个filter
文件(如 ./tclsh_filter
),里面用特定的格式列出 tclsh
的关键字。然后用下面的方式启动。
rlwrap -z ./tclsh_filter tclsh
这样启动的 tclsh
就具备比较高级的关键字自动补全功能了。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有