I found a solution that works in the things that I tested.
Copy the file %vim%/syntax/markdown.vim to %/.vim/syntax/markdown.vim and change line 63 to:
syn region markdownItalic start="\s_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart
Restart vim and it should match *this* and _this_ , but not_this .
EDIT: Changed info thanks to @ZyX
Wouter j
source share