jQuery: convierte la URL de texto en un enlace a medida que se escribe

Estoy progresando, pero no estoy seguro de cómo hacer que esto funcione bien ...

Tengo un div contenteditable que funcionará similar a un área de texto.

También tengo una expresión regular para reconocer las URL que se escriben y vincularlas automáticamente. Sin embargo, estoy teniendo problemas para hacer que este trabajo esté "en vivo" mientras el usuario escribe.

Aquí hay unjsFiddle De lo que tengo hasta ahora. Otro problema que tengo es que el cursor salta al principio del div después de ingresar un enlace (porque estoy reemplazando los div's.html()?)

¿Hay solución creativa para usar.replace() en cadenas de texto individuales en un div sin tener que reemplazar todo el contenido del div?

Respuestas a la pregunta(1)

Su respuesta a la pregunta