Here's how to do it, and yes it's a little complicated:
First, create a single-line text column, I'll call it Content
Second, create a calculated column, I'll call it ContentCalc, set the formula to =[Content]
Third, delete the first column Content, then recreate it as a multi-line text column
Fourth, create a third column, I'll call it Summary, and set the formula to =LEFT([ContentCalc],60), with 60 being any number of chars you want to truncate it to
Finally, to get rid of the stuff, insert the following source into a Content Editor Web Part placed under the list:
<script type="text/javascript">
var theTDs = document.getElementsByTagName("TD");
var i=0;
var TDContent = " ";
while (i < theTDs.length)
{
try
{
TDContent = theTDs[i].innerText || theTDs[i].textContent;
if (TDContent.indexOf("<div") == 0)
{
theTDs[i].innerHTML = TDContent;
}
}
catch(err){}
i=i+1;
}
</script>
I got the bulk of this from this link, but I had to mod the instructions a little, and it still took a while to implement exactly right.
Then, if you want to keep the Calc columns from displaying in the Display form, you'll have to create a custom form.
NOTE: This javascript doesn't work for Extended Rich Text because it affects after the truncation, and the div tag is too long for the amount I was truncating. By extending the amount of chars in my truncation I was able to get it to work mostly. There are still some edge cases I haven't figured out completely yet.