首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

敲代码的另一种方式?

  •  2
     
  •   PainAndLove · 82 天前 · 7476 次点击
    这是一个创建于 82 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么敲代码一定要用两只手。敲代码又不是码字。按顺序码就行了。

    敲代码的过程中,经常会有停顿,来回跳转,选择代码块(复制 /剪切),这些事情鼠标可以很好的处理。

    那么:我们可不可以左手放在键盘上,右手握着鼠标。需要跳转 /选代码块时用鼠标,然后码代码用左手呢?

    感觉效率不比 vim 差啊。甚至更快。

    tip: 不考虑纯 terminal 环境

    69 回复  |  直到 2019-09-27 22:36:59 +08:00
        1
    jinhan13789991   82 天前 via Android   ♥ 2
    事情的出现肯定有它的原因,你可以想一下,如果你说的这种特别方便高效,为啥没人用呢。
        2
    learningman   82 天前 via Android   ♥ 1
    何必走极端,必要的时候我的右手也可以挪开呀,干嘛要一直放在鼠标上?而且在更多场景下,我的右手会放在上下左右键上。
        3
    Buges   82 天前 via Android
    你一只手敲段代码试试就知道了。

    敲代码就是两手比较快,其他操作就是要用鼠标,这样需要一只手从鼠标和键盘上切换,效率就会很低。

    而这也是 vim 等工具脱离鼠标的意义。
        4
    junnplus   82 天前
    你可以自己试试呀,等哪天这种方式的效率赶上双手敲代码再来说
        5
    orzorzorzorz   82 天前
    我一只手记不住键位
        6
    azuginnen   82 天前
    你搜下这个老哥 Bisqwit 芬兰的,看人是怎么敲代码的。

    他都不用补全的,一个一个敲。
        7
    Samuelcc   82 天前 via Android
    作为一个 vimer, 觉得鼠标加键盘不会比 vim 快
        8
    xmoiduts   82 天前 via Android
    人的神经有延迟啊,用鼠标大部分时间都花在启停定位光标上了,用键盘可以把人手操作 buffer 掉,不用人脑中断跳出键盘逻辑。
        9
    Yvette   81 天前
    如果没有人在你打字的时候把你的双手都按在键盘上不准你碰鼠标,那为什么不可以?从你做起吧,左手全键盘走起
        10
    chendy   81 天前
    问题是怎么单手打字…
        11
    antscript   81 天前 via iPhone
    跳转 /选代码块 也有快捷键可用
        12
    cmdOptionKana   81 天前
    给楼主推荐一个编辑器 Acme, Go 语言之父发明的,其操作非常依赖鼠标。
        13
    poplar50   81 天前 via Android
    想啥呢 “感觉效率不比 vim 差”。。如果你左手码代码效率堪比你双手 vim,我无话可说。vim 这种编辑器的出现本身就有想要 mouse free 的原因。
        14
    ClericPy   81 天前
    要么 vi, 要么鼠标手势

    一只手敲代码, 当年的指法练习不允许啊

    而且快捷键用习惯了, 为啥要用鼠标?
        15
    lneoi   81 天前
    目前的键盘不允许一只手快速输入吧,而且鼠标移动与击键次数比,肯定一只手会累很多
        16
    twoyuan   81 天前
    - 敲代码又不是码字

    杠精的我:不,敲代码就是码字

    不是杠精的我:敲代码确实有些时候是用码字代替一些事的,比如重复敲自己定义过的变量、函数名(虽然用自动补全能节省很多击键)。不过首先于当前交互方式,用鼠标不见得比键盘快多少,因为很多定位操作在可选择元素多的时候仍然要键盘“码字”才能更精准的定位。像科幻片里经常出现的,人站在很多个由全息影像呈现的“显示屏”前,用手很多手势(旋转、点击、拖动)也许是这个方向的一种探索。
        17
    rocbomb   81 天前
    问题是 大部分时间在思考,在 Debug...
        18
    wisetc   81 天前 via iPhone
    怎么我用右手敲代码,左手忖头。楼上需要左手敲代码的人可以用手机,那样移动幅度比较小。
        19
    szzhiyang   81 天前   ♥ 1
    最好的键鼠混用方案是 Thinkpad 的小红点。
        20
    MIMEIK   81 天前   ♥ 1
    要是脚能用鼠标就好了,DIY 个鞋式鼠标。
    影响敲代码效率的不是打字的速度而是思考的时间和熟练度吧
        21
    msaionyc   81 天前
    不要为了创新而创新,你这就好像别人说吃饭用碗筷,你非要说,可以不用碗啊,直接用筷子在锅里吃,这样还省了洗碗的时间。

    “感觉效率不比 vim 差啊。甚至更快。”这种话说出来很傻
    如果你觉得一手鼠标一手键盘比双手打字更快,你可以录个视频验证一下,视频地址发出来
        22
    keyv   81 天前 via iPhone
    这样左手移动幅度太大,太累,比如删除,换行或者输冒号和点的时候。。。
        23
    comwrg   81 天前
    敲代码根本不需要啥效率 又不是打字员 规定一定要打多少字 重要的是 [敲代码] 的 [体验]

    很多人喜欢 Vim 不单单因为效率高(次要原因) 更主要的因为用 Vim [敲代码] [体验] 好(主要原因)
        24
    monson   81 天前   ♥ 2
    我真的就是习惯只用左手打字,手指像弹钢琴一样,所有同事都惊讶我有这个技能。。

    原因有点奇葩,初中刚接触电脑时,在玩一款网游,可以只用鼠标移动就能完全操纵,键盘只用于和工会的人打字聊天(那时还没有语音)。玩了两三年,就习惯单手打字了;甚至我还一直不会双手打字(拼音),因为单手和双手的感觉是不一样的。

    近几年换了 MacBook,用上触摸板、不用鼠标了,右手放着键盘附近,才慢慢学会双手打字。不过偶尔用手撑着桌子或者拿着手机看时,还是会单手打字,就像现在。

    PS1: 输入法词序固定很重要,因为都是记忆性反射。
    PS2: 机械键盘比笔记本键盘更好,能像钢琴按键一样有更多手感反馈。
    PS3: 也许因此左手很灵活,懒的时候甚至连触摸板都是只用左手,右手没事干也不动。
    PS4: 我是右撇子,但右手单手打字是不会滴。
        25
    felixlong   81 天前
    这样更快说明 lz 大部分时间在 Copy/Paste 而不是敲代码。
        26
    AlisaDestiny   81 天前
    键盘和鼠标的操作频率不在一个量级上,如果个分配一只手,那肯定是左手忙不过来,右手还有空给你嘴喂瓜子。你应该能想象这个场景吧。
        27
    cuminflea   81 天前 via iPad
    我理想中的 setup 是分体式键盘中间放个轨迹球。。。
        28
    youbigding   81 天前
    那还是两只手敲代码,老二来操作鼠标吧。然后鼠标以后改名叫鸟标
        29
    sayano   81 天前   ♥ 1
    想象不到单手打字 除了看 p 站
        30
    xiangyuecn   81 天前
    敲 10010100101001010010 确实单手快多了 (手动狗头
        31
    HankAviator   81 天前
    想到的替代方案:1.键盘快速定位到常见的位置 2.眼球跟踪+辅助选定。2 看起来还行,反正没人闭着眼睛码代码,定位效率也蛮高 *下一个风口* /狗头
        32
    MaiKuraki   81 天前
    缺一只手,要是有三只手就好了
        33
    reus   81 天前
    输入就是要两只手

    复制粘贴用 vim 可以很快,你移动鼠标,还要对准开头,还要拖动,还要对准结尾,小心翼翼放开鼠标键的时间,我早就复制粘贴好了

    左右键盘右手鼠标?我又不是打游戏!
        34
    tmf4ck   81 天前
    敲什么代码还是来玩游戏吧 我先锋 1~
        35
    exploreXin   81 天前
    楼主的奇思妙想很有创意,但是我想了下目前为止应该只有周伯通可以这么玩儿左手键盘右手鼠标的招式。为啥?因为这需要人脑双进程的概念。平时工作的时候,仔细观察一下,你双手敲键盘是单进程工作,每当你要用鼠标操作的时候,你在键盘上手是没有动作的,鼠标操作完然后双手回到键盘才会开始继续键盘上的工作。而键盘鼠标同时操作是双进程,需要人脑同时控制两个事务的动作。计算机对于多进程是可以轻易驾驭的,单核 cpu 的多进程工作方式是,这个任务干几纳秒,保存进程信息,再切换到那个进程干几纳秒,计算机可以这样做是因为电路里电子传播速度极快,适用于这种工作方式,而人脑生物电的进程切换最短的也得几秒钟,大型的复杂的工作搁置之后就更慢,你需要几分钟的时间才能把保存的复杂任务重载入大脑,你试一下写三秒钟市场分析报告,然后停下来再去设计三秒钟新项目数据库设计,再回来开始写三秒钟的报告,人脑的进程切换是极其耗费时间和资源的,这样干一上午,绝对会累瘫痪。就算简单的左右手双操作,也是很低效的方式。

    所以结论就是,单进程工作方式还玩不利索,就别想学周伯通的左右互搏术了。周大师也不是说玩就可以轻松玩上多进程的,也需要耗费极大的内力和身体控制,否则谁都能练成的话,那还叫什么武林绝学。
        36
    elvodn   81 天前
    Dvorak Left 键盘布局可以挑战一下
        37
    tigerfyj   81 天前 via Android   ♥ 1
    @MaiKuraki 如果人类是三只手,我觉得键盘也一定会被设计成三只手最有效率。然后我们又要感慨四只手就好了。😂
        38
    MonoLogueChi   81 天前 via Android
    你可以试一下,反正我一个手很慢。敲代码的时候都是直接敲完一行,或者直接撸完一个函数,然后再停下来。
    还有就是已经熟悉键位了,一个手键位记不住,一边写代码一边想键位,分心二用效率低
        39
    mogami95   81 天前
    我只需要 ctrl+c 和 ctrl+v,别的都用不着!
        40
    a1562619919   81 天前 via Android
    @felixlong 大部分人都是普通码农,工程问题基本都是已解决的问题,不需要创造,cv 后小幅变动就行了
        41
    qcts33   81 天前
    vim 里面区分模式的设计其实就是为改代码设计的。
    来回跳转,选择代码块这些 vim 里都可以很快捷的进行操作
    与其练一手禅,还不如熟悉熟悉 vim
        42
    20015jjw   81 天前
    单手键盘了解一下?
    但是其实 vim 有很多准确的操作
    比如鼠标不能调到下一个大写字母 etc
        43
    northisland   81 天前
    小红点 + ide
        44
    msg7086   81 天前
    你这种方式适合只用左手敲键盘的人。
    我们这样有两只手,而且两只手都用来敲键盘的人,不适合你这种方式。

    单手打字的人记忆的键位和双手打字完全不同。所以相当于要从头开始重新学习打字,甚至需要用一个新的键盘来实现(因为横向太宽了,单手左右横跳体验很不好)。
    Dvorak 单手键盘就解决了这个问题,你可以试试看。
    https://upload.wikimedia.org/wikipedia/commons/b/b5/KB_Dvorak_Left.svg
        45
    opiviqo   81 天前 via Android
    代码不在于敲
        46
    appmanagecluster   81 天前
    功能实现就好
        47
    vjnjc   81 天前
    @azuginnen 刚看了,配乐太好玩了,停不下来
        48
    TheC   81 天前
    所以我很多年前买了个 thinkpad 的红点键盘回来,右手再也不用离开键盘区域了
        49
    oyxhm   81 天前
    神之手
        50
    tz894305532   81 天前
    鼠标和键盘都放桌面上,键盘鼠标随时切换,就不会有这种困扰了。
        51
    xianxiaobo   81 天前
    敲代码又不是打游戏
        52
    changdy   81 天前
    前段时间 我也想过 这个问题
    https://v2ex.com/t/558799
    鼠标和键盘的来回切换的确带来了一定量的效率降低
        53
    imycc   81 天前
    你那个是游戏的方式不是打代码的。就算你写的是 py,冒号跟引号总要输入的吧,左手挪过去?

    我倒是觉得比起用鼠标,thinkpad 的键盘或者笔记本的触摸板更有效率,可惜我之前没买小红点键盘,所以一直用的 vim。
        54
    melkor   81 天前 via Android
    @monson 老哥是钢琴弹得贼 6 ?一般人手指没这个灵活度、独立性和力量吧
        55
    Godikov   81 天前
    自己觉得舒服,用舌头敲都没人管。
        56
    root8080   80 天前
    我试了下 发现居然真的可以单手打字 而且速度不慢 可是我已经快两年没用过鼠标了
        57
    sambawy   80 天前
    一个手鼠标,另一个手熟练的 Ctrl+C 和 Ctrl+V,完事
        58
    devcat   80 天前
    一个手鼠标,另一个手熟练的 Ctrl+C 和 Ctrl+V,完事
        59
    Track13   80 天前 via Android
    你这还不如 tnc 呢
        60
    roryzh   80 天前
    @xiangyuecn 1 在键盘左边 0 在键盘右边,不如双手不如双手
        61
    xiangyuecn   80 天前
    @roryzh 😂 小键盘 拇指按 0 食指按 1 那列 中指按 2 那列 无名指按 3 那列 小指按+-回车 一个手敲的飞起
        62
    BiteTheDust   80 天前
    我试了一下 输入 printf
    我先手往右移到 p 然后再往回移到 r 然后觉得太慢了想删了 又移了老远到退格
        63
    monson   80 天前
    @melkor 完全不会钢琴,不过现在左手手指灵活度确实跟右手差不多,但左手手臂力量还是明显弱于右手的。
        64
    monson   80 天前
    @BiteTheDust 应该是你们不习惯,所以指法不对。当食指按 p 时,尾指已经可以直接放 r 上了,手掌几乎没移动。实际上我只用移动 3 次手掌,p(食)r(尾)i(中) -- n(食)t(中)f(无名) -- 退格(中)。
        65
    baobao1270   80 天前
    这个时候触摸板的作用就体现出来了
    我好像见过空格键做成一根圆柱体,可以左右滑动、上下滚动的键盘,来操控鼠标的
        66
    secondwtq   80 天前 via iPad
    “键盘+定位设备”这种配器模式有它适用的地方,只不过不是”敲”代码。
    普通用户一般会认为有 GUI 的地方就离不了某种定位设备,可能是鼠标、触摸板、触摸,或者手写笔。
    程序员知道 Vim,知道 text-based interface,快捷键玩的也溜,但是程序员的问题就在于一般只跟代码和文档打交道,所以楼主尽管有跳出圈子的想法,但是也局限在“敲代码”的边界里面 ...
    但是同时不少程序员也玩游戏,玩摄影,做视频,绘画,在进行这些活动的时候,定位设备依然是不可或缺的。可惜的是,这四种活动中你的操作基本是完全随机的 ... 只有做视频跟编程沾边比较多

    楼主可以了解下 Visual Programming,在这种形式里面,开发者主要做的不是写代码,而是拼接已有的逻辑和模块。这种方法本质上依赖于 GUI,并且也很大依赖于定位设备。所以之前那些编辑器什么的不管用,一个基本的“IDE”是最低要求。并且如果要做的好用,需要你发挥一点交互功力(再不济也得发挥点抄袭功力)来真正提高这个 IDE 的效率。

    举个例子:写一个函数,你得先把签名定下来,参数名和类型写上去,写到一半发现不对要改签名,那你得把光标挪回那行改(如果你写的是 C/C++ 这种那恭喜你要改两次 ...),哪怕你只是做一个 prototype,而在图形化的环境里面,我就只要把“Input Node”拖进来,然后连到需要用这个参数的地方就行了。

    这种模式有什么实际应用?我也不是十分清楚,但是如果曾经在基础设施稍微好一点的公司干过的话,应该会见过类似“配置流程”之类的东西,有一点相似之处。给几个 hint:
    * 如果目标使用环境本身就属于无法离开定位设备的情况,这种模式有天然的优势( Vim 等文本操作模式的全键盘操作无法实现)。
    * 图形化的界面对非程序员(包括且不限于项目中的其他角色以及终端用户)更友好。
    * 对没键盘 /键盘残废的触屏设备更友好。(虽然我个人认为这个还是要结合文本编程,也就是说键盘依然是很必要的)
        67
    dog82   80 天前
    你需要精通 vim,手不离开键盘
        68
    tozp   80 天前
    应该是大部分时候都只考虑纯 terminal 环境……
        69
    james122333   76 天前
    适合这种模式的就一个编辑器 acme 而且还是要整好补全 快速指令的 acme
    鼠标编辑器之神
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4104 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 41ms · UTC 07:44 · PVG 15:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.