One interesting thing about most implementations of tabs in textareas is that the insertion of a tab typically breaks the browser undo/redo stack for the textarea. This guy implemented it correctly though as mentioned in the bug filed on tabIndent.js: http://www.reddit.com/r/javascript/comments/13tfpf/burned_th...