V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kongque2016
V2EX  ›  问与答

编辑器设计:tab 键接近屏幕右侧时是否该限制它跨行?

  •  
  •   kongque2016 · 2018-06-21 17:17:39 +08:00 · 850 次点击
    这是一个创建于 2372 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在自己的开源项目里要实现一个文本编辑器,运行在 terminal 里.
    现在遇到一个问题,tab 键接近 terminal 的屏幕右侧时,可能会引发换行.
    例如用户的 terminal 宽度是 81,它设置的 tabstop 是 8 .假如现在光标在第 80 列(从 1 数起),他按了 tab 键.我的编辑器该怎么打印这个 tab 键?
    我在 emacs 和 vim 下试过,它们都是把光标移动到下一行,然后推进 6 个列.相当于按了 8 次空格键.
    我在编程时模拟这种行为,发现引入不小的复杂度,如果这种行为很重要,那还好,主要是我觉得很少有人在行末按 tab 键,也很少有人的 terminal width 不是 stabstop 的整数倍.觉得这样设计有点儿得不偿失.
    我的想法是,在这种特殊情况下,约束 tab 键的行为,也就是约束 tabstop 的宽度,最多让它撑满一个整行.
    想听听大家的意见,你们平时在项目里会遇到 tab 键跨行吗,你们觉得 tab 键跨行行为的细节重要吗?
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.