O problema mais simples é que o emulador de terminal tem duas maneiras de lidar com o mouse (além de ignorá-lo). Eles fazem algo inteligente com o mouse, já que o programa que está sendo executado não sabe o que fazer com ele ou deixa o aplicativo lidar com ele. A maioria dos emuladores de terminal faz as duas coisas e escolhe entre os dois, dependendo se o aplicativo diz que pode usar o mouse (termcap e terminfo entram em ação aqui, mas vamos pular os detalhes).
Se o emulador de terminal decidiu fazer algo inteligente com o mouse na maioria dos casos, a decisão razoável é implementar copiar e colar.
Se o emulador de terminal estiver apenas passando as informações do mouse para o aplicativo, é de total responsabilidade do aplicativo fazer a coisa certa, e os aplicativos variam muito no que fazem. O vim implementa copiar e colar e modo visual e é bem pensado (se você gosta do vi). O aptitude não faz apenas a seleção (que é decente no menu e em alguns outros lugares, mas muitas vezes me deixa alcançando a tecla Shift).
Depois, há o xterm e aqueles que emulam até certo ponto, onde eles decidiram que se o aplicativo estiver errado, você pode segurar a tecla Shift e mudar o que o mouse faz, que é como eu copio URLs do aptitude, e uma vez em uma lua azul enviar eventos de mouse para gato (eu acho que isso ainda funciona eu não fiz isso em anos).
No caso do nano, evito-o, pois seu modo de compatibilidade vi está quebrado, por isso não posso lhe dar conselhos além do que é mencionado nas man pages (e além disso, eu não os li ultimamente).