编程与软件工程stackoverflow.blog
帮助一百万开发者退出 Vim
Helping a Million Developers Exit Vim
2017 — 2019,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Stack Overflow 官方博客的一篇文章,介绍其史上浏览量最高的经典问题——“如何退出 Vim”——累计帮助了约一百万开发者。文章借此回顾了这个广为流传的程序员梗,并探讨了 Vim 的模式化设计为何让新手如此困惑。
为什么经久不衰:“如何退出 Vim”是程序员文化中最经典的共同记忆之一,文章既有趣味性也引发对界面设计与学习曲线的思考,多年后依然能引起共鸣。
HN 评论精选
陡峭的学习曲线不等于糟糕的设计,掌握后效率极高
我做了近十年 IT,公司后端完全基于 AS/400。那种控制台学习曲线很陡,没法凭直觉上手,但一旦掌握,你一辈子都找不到比它更快的界面。新人总坚持要换成鼠标操作的界面,却不知道“更直观”其实是退步。我的观点是:学习曲线陡峭不代表设计糟糕。
blhack查看英文原文
I spent almost 10 years doing IT for a company whose backend was based entirely on as/400. If you've ever used a system like that, I'm sure you know where this is going... The console's that the front-desk or clerical users used every day had a steep learning curve. It was something that you would definitely not be able to walk up to and just intuit. However, once you figured it out, there is never going to be a faster UI that you are ever going to experience in your life until we figure out direct BCI stuff. It was funny watching the new people come on board and insist that we should change the UI to something with a mouse (probably web based). They had no idea that more immediately intuitive was actually a step backwards. My point is that just because something has a steep learning curve, that doesn't necessarily mean that it's a bad design.
Unix 下退出方式五花八门,对新手极不友好
这可能是 Unix 系统对新用户最大的问题:退出一个命令行程序的方式太多了!Ctrl+D、q、:q、exit、quit()、Ctrl+C、Ctrl+X……我无数次被困在程序里,只能挨个试这些背下来的命令。想象一下新手面对这种情况。
alexpetralia查看英文原文
This is probably the #1 problem with Unix-based systems in general for new users. There are so many ways to exit a command prompt depending on the application! Off the top of my head: Ctrl+D, q, :q, exit, quit(), Ctrl+C, Ctrl+X. Countless times have I been locked in an application and needed to cycle through those memorized commands to escape. Imagine doing that as a newbie.
Vim 启动不在编辑模式,违背新手直觉,导致大量卡死
读研第一年我当助教,第一节课整个实验时间都在到处帮学生解救卡死的 vi。主要问题是 vi 启动时不在编辑模式,学生以为可以直接打字(这是合理的预期),结果不知触发了什么命令,有时我干脆 ctrl-z 然后 killall vi。我因此恨透了 vi。
waynecochran查看英文原文
My first year of grad school I was a TA for a first year computer science course that was often taken by students from a variety of majors. The first editing sessions I spent the whole lab time running around help students with frozen vi editors. The main problem is you don't start in "edit mode" and students expect to be able to just start typing (which is a reasonable expectation). Who knows what "command" they just invoked -- sometimes I just "ctrl-z, killall vi" I learned to hate vi.
当年键盘布局不同(ESC 在 F11),也是新手被困 vi 的历史原因
我认识我妻子就是因为她被困在 vi 里。90 年代初我是 Unix 系统管理员,她是研究生,来找我问怎么退出 vi。其实她会用 vi,只是找不到 ESC 键——DEC 键盘上 ESC 是 F11。所以新生第一周问我问题时,我答“F11”,90% 都是对的。
drewg123查看英文原文
I met my wife because she was stuck in VI. I was a unix sysadmin in the early 90s, and she was a grad student. She came to me for help (like most of the 1st years did) because she couldn't get out of vi. However, to be fair, this was not her fault per-say. She actually knew how to use vi, but just couldn't find the ESC key. Does anybody remember the DEC keyboards where there was no traditional ESC key, but it was F11? (http://www.cosam.org/images/vt220/keyboard.jpg). Yeah, we used DECstations in the grad labs, and whenever a new grad student asked me a question in the 1st week, I'd answer "F11", and 90% of the time I was right.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选