敲代码的另一种方式?

2019-09-22 14:49:22 +08:00
 PainAndLove

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

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

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

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

tip: 不考虑纯 terminal 环境

10064 次点击
所在节点    程序员
69 条回复
xiangyuecn
2019-09-23 19:09:31 +08:00
@roryzh 😂 小键盘 拇指按 0 食指按 1 那列 中指按 2 那列 无名指按 3 那列 小指按+-回车 一个手敲的飞起
BiteTheDust
2019-09-23 20:45:32 +08:00
我试了一下 输入 printf
我先手往右移到 p 然后再往回移到 r 然后觉得太慢了想删了 又移了老远到退格
monson
2019-09-24 00:23:04 +08:00
@melkor 完全不会钢琴,不过现在左手手指灵活度确实跟右手差不多,但左手手臂力量还是明显弱于右手的。
monson
2019-09-24 00:30:28 +08:00
@BiteTheDust 应该是你们不习惯,所以指法不对。当食指按 p 时,尾指已经可以直接放 r 上了,手掌几乎没移动。实际上我只用移动 3 次手掌,p(食)r(尾)i(中) -- n(食)t(中)f(无名) -- 退格(中)。
baobao1270
2019-09-24 00:35:53 +08:00
这个时候触摸板的作用就体现出来了
我好像见过空格键做成一根圆柱体,可以左右滑动、上下滚动的键盘,来操控鼠标的
secondwtq
2019-09-24 01:25:24 +08:00
“键盘+定位设备”这种配器模式有它适用的地方,只不过不是”敲”代码。
普通用户一般会认为有 GUI 的地方就离不了某种定位设备,可能是鼠标、触摸板、触摸,或者手写笔。
程序员知道 Vim,知道 text-based interface,快捷键玩的也溜,但是程序员的问题就在于一般只跟代码和文档打交道,所以楼主尽管有跳出圈子的想法,但是也局限在“敲代码”的边界里面 ...
但是同时不少程序员也玩游戏,玩摄影,做视频,绘画,在进行这些活动的时候,定位设备依然是不可或缺的。可惜的是,这四种活动中你的操作基本是完全随机的 ... 只有做视频跟编程沾边比较多

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

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

这种模式有什么实际应用?我也不是十分清楚,但是如果曾经在基础设施稍微好一点的公司干过的话,应该会见过类似“配置流程”之类的东西,有一点相似之处。给几个 hint:
* 如果目标使用环境本身就属于无法离开定位设备的情况,这种模式有天然的优势( Vim 等文本操作模式的全键盘操作无法实现)。
* 图形化的界面对非程序员(包括且不限于项目中的其他角色以及终端用户)更友好。
* 对没键盘 /键盘残废的触屏设备更友好。(虽然我个人认为这个还是要结合文本编程,也就是说键盘依然是很必要的)
dog82
2019-09-24 09:29:12 +08:00
你需要精通 vim,手不离开键盘
tozp
2019-09-24 09:43:21 +08:00
应该是大部分时候都只考虑纯 terminal 环境……
james122333
2019-09-27 22:36:59 +08:00
适合这种模式的就一个编辑器 acme 而且还是要整好补全 快速指令的 acme
鼠标编辑器之神

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX