Most people are familiar with accidentally bumping the insert key, and then typing and finding that there text has been replaced. (overwritten with the new text they just typed.) I've used it maybe a hand full of times for it's intended purpose. But what is the change that the new text is the same size as the old? and then you have to press delete if your new text it too short. (or switch to insert mode, if it is too long)

I think it is the more normal user behaviour to select the text to be repaced, and then start typing in insert mode.

My assumption is this behaviours comes from some historical system, that used fixed space for everything (treating the page more or less like a grid).

So going forward should this behaviour of the insert key be respected in new applications?

  • YES I still want it. There is stuff where alignment of the text in what looks like a table, but actually is just plain text, is important. The replace mode gets very important if you want to change text somewhere in the middle and don't want to have to keep readjusting the alignment of the various columns. Plenty of other examples where I use replace mode, but they don't float to the top of my head at the moment. Let's just say that I use replace mode at least a couple of times a week. Commented Feb 2, 2014 at 10:50
  • That is a good one @Marjan, have you considered it as a answer? Commented Feb 2, 2014 at 11:13
  • 1
    I didn't, but now that you mentioned it... Commented Feb 2, 2014 at 12:51

3 Answers 3


I am certainly familiar with the annoyance of accidentally hitting the Insert key. I never use it intentionally -- although @Marjan Venema's argument about fixed-with plain text makes sense, I would never have thought of that myself. Maybe in future I will actually use it for that purpose!

That said, if your application is going to use "overwrite" mode, please, please switch the cursor to a block cursor (i.e., covering up the character that is about to be over-written with a semi-transparent coloured rectangle).

It will aid in clarity when the replace mode is being used intentionally and just as importantly, make it easy to recognize when you've switched modes by accident!


Yes, it should still be part of new applications

I certainly still want it.

There are plenty of use cases where the alignment of the text is important and your are dealing with plain text files instead of word processor documents.

Two use cases come to mind immediately: tables and indentation. With a word processor you would use the table and/or paragraph style features to get the desired effect and not worry about using spaces or tabs to align your text in columns and rows or to convey hierarchy by using indentation.

For plain text files, the only way to achieve a table or indentation is to use a monospaced font and use spaces or tabs to align the text. Tabs are great if you only need a few tab positions, but how are you going to tell someone else's plain text editor where the tabs are supposed to be? So you need to rely on convention and hope that any and all collaborators use the same number of spaces for a tab, especially when their editors have such niceties as "translate tabs to spaces" and/or vice versa.

In other words: for plain text files the most reliable way to get consistent alignment for either tables or indentation is to use spaces.


Some Column    Other Column    Yet One More
Abcde               1234567         1
Abe                   12345         3
Abcdef               123456         5
Acd                     123         7


while cccc do
  if a then

Keeping indentation isn't usually much of a problem provided you are using a proper IDE or good text editor (Notepad++). Trying to do the same with Notepad or some other plain text editor is tedious to say the least. Trying to keep a plain text table properly aligned is just plain tedious and cumbersome, even with a proper IDE or good text editor.

Having a replace mode available at least reduced the number of re-alignment adjustments you need to make. Admittedly, if you are not used to replace mode, you tend to forget to use it and thus use it even less. Keeping a table align with a minimum of re-alignment adjustments would require continual switching between insert and replace mode. Something only someone that needs to keep plain text tables aligned on a regular basis would be adept at.

I also often forget to use replace mode when it would have been a quicker way to achieve what I wanted to do. Even so, I still use replace mode at least a couple of times a week. Not having it available would annoy the heck out of me.

That said, most use cases for replace mode probably are limited to cases where fixed width fonts are used and alignment is/can be important. That means plain text editing of all kinds of source files: programming code, html, css, ..., ...

I guess that if you are building a word processor you might get away with dropping replace mode. But if there is even a remote chance that people would edit monospaced font tables with your word processor, they would be greatly helped if you didn't.

  • Should it be bound to the insert key? I mean if it is a very interface light text field, then insert key has the advantage of being "known". But if it is heavy IDE or complex text editor, i could put a button somewhere. Commented Feb 2, 2014 at 13:06
  • I'd say don't mess with an existing convention that is even honored in main streams applications such as Word and Excel. So stick to using the insert key. No button needed. Commented Feb 2, 2014 at 13:08
  • But it's not in MS-Word. It was removed 7 years ago. miksovsky.blogs.com/flowstate/2006/07/insert_key_safe.html (It can be re-enabled in options, and I suggest that most applications that mess with it, should have it changeable in the options.) Commented Feb 2, 2014 at 13:14
  • Really? Never noticed that :-) Must mean I don't use it in Word... Even so, stick to the insert key, provide the button if you want to, but do so in addition to the insert key. Commented Feb 2, 2014 at 13:20
  • Why do you need a dedicated button on keyboard for this? What if I start asking for a button that tYpEs lIkE tHiS? that'd be handy for some... A dedicated button is definitely is clutter imposed on everyone. You may ask for a shortcut for this in apps that actually use insert but for almost everyone, it's clutter.
    – kBisla
    Commented Feb 3, 2014 at 10:10

Not every application, but maybe some applications should. Consider

  • What are the users of your application like?

  • What is the nature of your application?

If you are doing data entry, and have relatively careless and IT illiterate users, then will disabling "Insert" prevent errors?

e.g. Do experienced data entry operators quickly flick to overwrite, fix an entry and continue? If so disabling Insert would increase error rate. However any observation I have had of data entry operators is that they either insert more, or clear and re-enter as they are so quick at entering data. Thus disabling "overwrite mode" could in this case decrease error rate.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.