B

Bram Moolenaar

moolenaar.net · Personal blog · on HN since 2008

Bram Moolenaar, creator of the Vim editor, shares his editing advice and Vim history, including the Charityware project.

What HN saysHN commenters cite his "Seven habits of effective text editing" as a source of good insight on learning Vim, though one warns against lingering in phase 1.
37HN people shared it
23linked it in comments
17stories submitted
643story points
1 year agolast shared
2008people per year2026

Most-shared posts

  1. 1
    Seven habits of effective text editing (2000)
    25 people · 624 points · first shared 2008 · 237 comments on HN
  2. 2
    Bright
    2 people · first shared 2023
  3. 3
    Homepage
    2 people · first shared 2023
  4. 4
    Habits 2007.pdf
    2 people · first shared 2023
  5. 5
    Seven habits of effective text editing
    1 people · 8 points · first shared 2013 · discussion on HN
  6. 6
    Vim fortunes
    1 people · 6 points · first shared 2013 · 12 comments on HN
  7. 7
    The Continuing Story of Vim (2000) [pdf]
    1 people · 5 points · first shared 2022 · discussion on HN
  8. 8
    Zimbu
    1 people · first shared 2023
  9. 9
    Habits.pdf
    1 people · first shared 2010
  10. 10
    Albums
    1 people · first shared 2023
  11. 11
    Charityware
    1 people · first shared 2012
  12. 12
    Kopk.jpg
    1 people · first shared 2010

What HN people wrote when they linked it

skydhash · 2025-06-12
Why are these arguments always the same? > But with AI, I’m producing more than ever before, with a level of speed, quality, and understanding I’ve never experienced. In many ways, it’s 10x’d me as an engineer. > The best way I can explain my mindset is that I see AI as a multiplier of myself, not just a tool that does work for me on command > But more often than not, it’s a sign that the prompt wasn’t clear or specific enough. With better framing, you can guide the model toward a much more useful and accurate response Etc,… I long for an essay like Seven habits of effective text editing[0] by Bram Moolenaar with proper arguments made about AI Coding. [0]: https://www.moolenaar.net/habits.html
behnamoh · 2023-08-06
It's weird, his last message was in December 2022: """ Happy New Year to all Vim users! I have updated the handy desktop calendar for 2023. It prints on one sheet of paper and, after folding and applying a bit of glue, stands on your desk. It is available in English and Dutch. You can find the PDF files on my website: https://moolenaar.net/#Calendar Happy Vimming! -- No man may purchase alcohol without written consent from his wife. [real standing law in Pennsylvania, United States of America] """ RIP Bram. Rest assured that us Vim users will be happy Vimming while being sad that you are gone.
johncoltrane · 2013-01-01
I second taking notes as you go, here are mines (from 2 years ago, in french): https://github.com/romainl/dotvim/wiki/Notes Bram Moolenaar's seven habits has great insights about this subject: http://www.moolenaar.net/habits.html
ma2rten · 2011-08-29
Don't do what this guy says! Or at least don't stay in phase 1 for longer than a day. I've had used vim for a few years as a pico replacement, whenever I was on a remote computer on ssh. I picked up some really bad habit, like staying in insert mode all the time and using the arrow, home and end keys. I actually had to deactivate the arrow keys in my vimrc. I would recommend going thought the tutorial, that comes with vim (vimtutor command) and after that reading those articles: http://www.moolenaar.net/habits.html http://www.viemu.com/a-why-vi-vim.html
mun2mun · 2009-08-30
you can check out these links http://www.moolenaar.net/habits.html, http://jmcpherson.org/editing.html, http://www.viemu.com/a-why-vi-vim.html. I loved vim after reading these articles.
enriquto · 2023-08-05
Really sad to hear this... My first donation as a late teen to free software, was to the ICCF Uganda, thanks to vim's charityware license. It was maybe around 1997 or 98. Later versions of vim used a formal free software license, but still off-band encouraging donations to the ICCF. I've always been a bit skeptical to the whole concept of charity, but I respected Bram Moolenaar so much due to his work on vim that I trusted his judgement. I kept donating to the ICCF for a few years until he was hired at google. I was also deeply honored to see my (tiny, insignificant) minority language on his page for the word Mooleenar in many languages [0]. As a matter of respect and to honour his memory, I will keep using the last version of vim (by his last commit [1]) as my main text editor for as long as humanly feasible. [0] https://www.moolenaar.net/ [1] https://github.com/vim/vim/commit/4c0089d696b8d1d5dc40568f25ea5738fa5b…
layer8 · 2022-03-29
I’d encourage you to apply the three-step process presented in [0] (there’s also a video [1]), which is actually not specific to Vim: 1. While you are working with software tools, keep an eye out for actions you repeat and/or spend quite a bit of time on. 2. Find out if there is a command (or macro facility etc.) that will do this action quicker. Read the documentation, ask a friend, or look at how others do this. 3. Train using the command. Do this until your fingers type it without thinking. This means that you can learn new commands only as the need comes up by observing what you do. Which commands you will want to learn thus depend on the operations you are frequently doing and/or that cost you a lot of time. As I said, that strategy is applicable in general. Tools however differ in how well they support it, e.g. in terms of available commands and facilities. You could start applying that strategy in VSCode (which I’m not familiar with, by the way). If it works well enough, great. If you find it limiting, switch to Vim, Emacs, or some other IDE that serves your needs better. [0] https://moolenaar.net/habits.html [1] https://youtu.be/eX9m3g5J-XA
mbag · 2017-11-06
What I found about Vim is that it requires a bit of mind shift, compared to other IDEs. I came to the game very late, but yeah, I've been editing with Vim for the past 6-7 years. My primary motivation when moving to Vim, was that I didn't like using mouse and then running back to the keyboard to write text. Now, it might not seem like much time is wasted during this shift, but imagine doing this many time during work day and it adds up. Furthermore, I did a lot of editing on remote systems, which were headless, so you didn't get graphical editors. When learning Vim it's not wise to learn about everything at once. start slow at first, lear a few commands, then when you find you are doing something many times, try to find way to optimize it. Try not to use mouse for highlighting, use different visual modes instead (visual line, visual block are great). Here is article be the Vim author which can give you some hints on how to edit files: http://moolenaar.net/habits.html And as he mentions there, it can be applied to making your editing more efficient with other editors as well, so it's not a waste of time :)
e12e · 2016-05-09
> indexes everything So should your text editor (and/or it's companion programs) > and provides superior auto-completion. See above. Superior is a bold claim, superior out of the box for "strongly" supported languages, perhaps? (Eg: one way of working with java in vim is to use eclipse for extracting some information about a project[1]) Personally I'm more familiar with vim, than with Emacs -- arguably the main difference is that Emacs has one standard and sane scripting language (lisp), while vim doesn't (I'm very happy a lot of masochists work tirelessly to provide vim plugins for everything I need (and a great deal I don't) -- but I think it's hard to argue that vimscript is a "good" language. And having other bindings (eg: ruby, python) is a bit of a mixed blessing)). But what they have in common, is a strong focus on making it easy to automate transformation of text. Any kind of text. With any kind of automation, via commands. As such they empower a continued process of improving the process of writing and editing. I like Moolenaar's (vim's creator) short text and expanded talk on 7 habits of effective text editing: "7 Habits For Effective Text Editing 2.0": https://www.youtube.com/watch?v=p6K4iIMlouI "Seven habits of effective text editing": http://www.moolenaar.net/habits.html I often feel that modern IDEs with typical "modern" languages, tend to trap you in a certain way of working that is "with" the IDE, that tend to be counter-productive if that "one true…
merijnv · 2015-06-01
It took me a day to use it as "notepad with syntax highlighting", couple of weeks before I started preferring normal mode to insert mode, and from there on I slowly evolved my configuration and the tricks I use/learn. Nowadays when using vim I occasionally have people ask me "how did you do that?" and I won't even know what keys I typed. The keybindings are as natural as walking/grabbing things and require as much conscious thoughts. I usually have to redo it in slow motion to see what I did... I can highly recommend Bram Moolenaar's essay on "The Seven Habits of Effective Text Editing" (http://www.moolenaar.net/habits.html), it has a vim focus, but I think his points are editor agnostic Edit: I started using vim as a windows GUI person in university since I wanted to edit over SSH and vim was the only editor with syntax highlighting on the servers. So it's not like I was a terminal wizard back then (I am now :p)
antileet · 2010-10-12
While it was well written, and with best intentions, I don't think there is any real significant "tips" to increase "productivity". All things aside these are just some best practices sprinkled with some examples. This is similar to when your parents tell you to brush your teeth and floss daily. I haven't been programming a lot but here are some ideas that I've found, in similar vein to the parent article. 1. Watch Bram Moolenaar's talk or read his notes - http://www.moolenaar.net/habits.html . Essentially learn how to use your text editor, as that's the thing you're going to be spending a good deal of your time in. In three steps, his suggestion is - Find what you're doing repeatedly, automate it and bind it to a key, make it a habit. 2. use a good version control system. Use a DVCS like git/mercurial/bzr and make lightweight branches for even the tiniest little features. That'll allow you to multitask like crazy! If you start properly using branching, you can write more code quickly and safely and switch between contexts. 3. Make sure your build system is optimal. If you spend too long waiting for builds to take place, maybe you can explore options to make it better. 4. The most important productivity secret imo - ACTUALLY WRITE CODE. Don't think about writing code, don't read blogs about writing code, don't follow twitterers who write code. Most importantly, don't get distracted and idle away when you're trying to write code. I have some amount of mastery over my…
justinpombrio · 2023-08-25
For anyone else that wants to just skip to the language spec: https://www.moolenaar.net/z/zimbu/spec/zimbu.html
mlry · 2023-08-10
>"7 Habits for Effective Text Editing 2.0" >1h20m - If anyone has a transcript or summary: plz. But this was funny - first comment: Here you go: https://moolenaar.net/habits_2007.pdf Courtesy of tlamponi [1]: https://news.ycombinator.com/item?id=37013315
capableweb · 2023-08-05
Here is photos from Bram when they were at the Japan trip: https://photos.google.com/share/AF1QipMc4NF8j66ohinWutVHktl4hHaw-c25Js… "Tokyo 2018 (Nov 17 – 25, 2018)" His website has a lot of other albums he published for everyone to enjoy: https://moolenaar.net/albums.html
tlamponi · 2023-08-05
That presentation is also available as PDF with notes from his homepage: https://moolenaar.net/habits_2007.pdf
_andrei_ · 2023-08-05
Damn life, super sad, I feel like a silly chump [1] staring at the screen with an empty mind. [1] https://www.moolenaar.net/bright.html
happy-go-lucky · 2017-10-04
vimtutor is especially useful for beginners. Very interactive. Makes you want to learn more once you're done with it. I remember reading this beautiful essay Seven habits of effective text editing by Bram Moolenaar, the main author of Vim. http://www.moolenaar.net/habits.html
DennisP · 2016-12-14
Sure, and I do that when I can (e.g. not when I'm writing SQL), but the point of my quick examples isn't to show off my software engineering, but to illustrate what vim can do in the simplest way I can think of. I guess I'm failing to make the point, so I'll just refer to the articles that got me to try it in the first place. http://www.viemu.com/a-why-vi-vim.html http://www.moolenaar.net/habits.html
l0nwlf · 2010-07-03
Here is a word from horse mouth itself - Bram's tip on "Seven habits of effective text editing" - http://www.moolenaar.net/habits.html
mhd · 2010-06-23
You might be right. Vim users seem to get by without it (http://www.moolenaar.net/kopk.jpg). TextMate users just need a soul patch. Hmm, does this mean there's a marketing opportunity for hipster-oriented Emacs screencasts?
cabacon · 2013-08-23
vimtutor is pretty good, actually. Outside of that, http://yanpritzker.com/2011/12/16/learn-to-speak-vim-verbs-nouns-and-m… has a nice explanation of the editing worldview, which ties in with Steve's quote in http://learnvimscriptthehardway.stevelosh.com/chapters/16.html, "The idea of operators and movements is one of the most important concepts in Vim, and it's one of the biggest reasons Vim is so efficient. We're going to practice defining new motions a bit more, because extending this powerful idea makes Vim even more powerful." Check out http://www.moolenaar.net/habits.html, http://stackoverflow.com/questions/1218390/what-is-your-most-productiv… and maybe http://vimcasts.org/episodes/archive? I've been using it for about a decade, so I think I've lost the beginner's mind to evaluate whether these are really the right entry points. Lots of people are passionate about vim, though; some googling should find you the exercises that will help you the most.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close