炫酷的 CLI 程序界面是如何画出来的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Enivel
V2EX    程序员

炫酷的 CLI 程序界面是如何画出来的?

  •  
  •   Enivel 2016-1-19 13:32:47 +08:00 6087 次点击
    这是一个创建于 3255 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT 比如进度条 list 选择之类的. 有框架什么的么. 找了下没找到

    18 条回复    2018-04-12 10:20:56 +08:00
    jimzhong
        1
    jimzhong  
       2016-12-19 13:35:43 +08:00   2
    libncurses
    macleek
        2
    macleek  
       2016-12-19 13:35:45 +08:00   11
    chemzqm
        3
    chemzqm  
       2016-12-19 13:36:13 +08:00
    https://github.com/visionmedia/node-progress node 实现的,代码不多。
    Enivel
        4
    Enivel  
    OP
       2016-12-19 13:39:02 +08:00
    @jimzhong
    @macleek
    @chemzqm
    多谢各位 我看看去
    Enivel
        5
    Enivel  
    OP
       2016-12-19 13:41:59 +08:00
    @macleek 这个项目炫酷炸了啊
    t6attack
        7
    t6attack  
       2016-12-19 15:18:50 +08:00
    同问,有哪些可操作的 cli 程序?比较熟悉的, vi 编辑器, ntsysv 、 top
    还有哪些好用的?
    SorryChen
        8
    SorryChen  
       2016-12-19 15:23:00 +08:00 via iPhone
    @macleek 炫酷炫酷!
    qinxi
        9
    qinxi  
       2016-12-19 15:28:32 +08:00
    @macleek 厉害厉害.真很酷
    hackpro
        10
    hackpro  
       2016-12-19 15:47:59 +08:00
    @macleek 膝盖已碎……
    lzkwin
        11
    lzkwin  
       2016-12-19 15:56:27 +08:00
    跟字符画有点类似,这里有个字符画大全 http://chars.surge.sh/
    zhouyg
        12
    zhouyg  
       2016-12-19 17:25:34 +08:00
    @macleek 这个真的厉害
    KentY
        13
    KentY  
       2016-12-19 17:36:15 +08:00
    如果交互要求不高的, 就显示个进度条的, 可以就用输出控制, 反复盖写相应区域来实现. 如果真正的 cli 程序,要求界面, 菜单, 交互这种的, 还是用 curses 库吧.

    我曾经弄了一个带进度显示的小玩具, 你可以参考:

    https://github.com/sk1418/zhuaxia
    KentY
        14
    KentY  
       2016-12-19 17:43:22 +08:00   1
    @t6attack
    那太多了, 随便说俩
    ranger (以前用过,还行),
    fpp(现在用,非常方便)
    screen, tmux(离不开)
    man 程序(也离不开吧)
    htop(我觉得比 top 好用, 自从 top 更新了后, 看着也不错了, 但还是不如 htop)
    emacs(只用过 1 星期)
    alsa 设置程序, 以及很多设置程序
    还有一些 linux 安装的程序, 我记得好像 ubuntu 6.0.4 版本是 cli 的, 很久不安装 linux 了不太清楚了.

    还有你说的 vim, 时刻在用啊, 包括写这个回复..呵呵
    kingddc314
        15
    kingddc314  
       2016-12-19 19:16:45 +08:00
    来个 go 语言的, https://github.com/gizak/termui
    mingyun
        16
    mingyun  
       2016-12-19 22:50:16 +08:00
    @macleek nice
    dphdjy
        17
    dphdjy  
       2016-12-20 11:04:13 +08:00
    进度条有 2 种实现
    1. \b  退格
    2. \e[x,yH 定位

    不过交互好难做,一不小心就跑偏了。。。

    不如用 curses

    http://www.ibm.com/developerworks/cn/aix/library/au-shellcurses/index.html
    imoyaki
        18
    imoyaki  
       2018-04-12 10:20:56 +08:00
    @lzkwin 前几天看到还有……这几天就没了………………悲伤了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1343 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 16:59 PVG 00:59 LAX 08:59 JFK 11:59
    Do have faith in what you're doing.
    div class="sep10">
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86