I’m no expert on Unicode, but I bet the problem you’re experiencing is the Unicode display capability of the gnome terminal, and not anything to do with Julia.
The LaTeX-like TAB sequence at the Julia REPL generates a sequence of two Unicode code points, one for the n and one for the tilde. KDE Konsole knows how to display that properly with the tilde above the n, and cut-and-paste preserves the two-code-point-sequence.
julia> s1 = "ñ" # n\tilde<TAB>
"ñ"
julia> length(s1)
2
julia> @show s1[1], s1[2]
(s1[1], s1[2]) = ('n', '̃')
('n', '̃')
julia> s2 = "ñ" # cut and paste from above, in KDE Konsole
"ñ"
julia> length(s2)
2
julia> @show s2[1], s2[2]
(s2[1], s2[2]) = ('n', '̃')
('n', '̃')
If you try the same thing in an xterm, it’s the same until the cut-and paste.
...
julia> s2 = "ñ" # cut and paste as above, in xterm
"ñ"
julia> length(s2)
1
julia> @show s2[1]
s2[1] = 'ñ'
'ñ': Unicode U+00f1 (category Ll: Letter, lowercase)
I think that shows that xterm is cheating by displaying the two-code-point sequence as the single code point for n-with-tilde, which (if I am reading Unicode FAQs correctly) is a legacy encoding of the grapheme.
I bet the behavior you’re seeing in gnome terminal is similar to what’s going on in my xterm, with the additional factor of gnome terminal not being able to display the two-code-point sequence correctly.