As of macOS Catalina, the default shell for new accounts is now
zsh instead of
zsh has a feature called “bracketed paste” that allows the shell, specifically the zsh’s line-editing mode known as “zle”, to handle pasted text differently than if the same text had been typed in one character at a time, assuming your terminal emulator supports it, which macOS’s built-in Terminal.app does. It’s this “zsh line editing bracketed paste” that’s highlighting your text.
To disable this feature, unset the “zle_bracketed_paste” environment variable:
% unset zle_bracketed_paste
You should be able to add that command to an appropriate shell startup script so that it’s invoked every time (putting it in
~/.zlogin worked for me).
Or you could switch your shell to bash if that’s what you’d prefer:
% chsh -s /bin/bash
If you’d like to learn more about zsh’s line editing mode’s support for bracketed paste, see the
zshparam man pages.
Catalina’s built-in version of
bash is pretty old and doesn’t support bracketed-paste, but the latest versions of
bash do, so if you’ve installed, and are running, a version of
bash recent enough to support bracketed-paste, you can disable it with the command
bind "set enable-bracketed-paste off". You can add that bind command to the appropriate bash shell startup file for your situation, or you can add just the
set enable-bracketed-paste off part of it to your