Nick complete logic change.

Trying to tab complete inside a valid nickname after moving the caret will remove the entire nickname.
Trying to tab complete inside anything other than a nickname after moving the caret will prepend to the position of the caret.

“L[]exi hello” replaces “Lexi” as “Lexi” is a valid nickname.
“m[]Hello” replaces the “m” with the tab completed nickname leaving “Hello” intact giving the result “milky Hello”