Posso especificar quais caracteres definem o limite de seleção de clique duplo no Terminal do GNOME?

15

Quando eu clico duas vezes para selecionar texto no Terminal do GNOME, a seleção para nos espaços, mas continua sobre os hifens:

Alguns dos meus nomes de arquivos contêm caracteres incomuns, como o asterisco pesado com a marca da lágrima e não são selecionável clicando duas vezes:

Existe uma maneira de continuar a seleção de cliques duplos nesses caracteres?

    
por ændrük 20.10.2010 / 06:55

5 respostas

9

Em "Editar Preferências do Perfil > Geral", adicione o caractere à caixa "Selecionar caracteres por palavra".

    
por mgunes 20.10.2010 / 07:04
13

[Adicionando uma resposta já que o aceito não funciona mais.]

Script

Coloco isso em um script para definir os separadores de palavras:

link

Plano de fundo

O Terminal GNOME tem flip-flop várias vezes sobre este assunto.

Este recurso de configuração foi removido no gnome-terminal 3.14 (incluído no Ubuntu 15.04 Vivid)

  • link
  • link

Em seguida, no gnome-terminal 3.16 (incluído no Ubuntu 15.10 Wily), a opção foi reintroduzida sob o capô, mas sem interface do usuário. Além disso, o cólon : foi alterado para ser tratado como um separador de palavras.

Editando com o dconf

Por essas instruções, você pode configurar o conjunto usando o dconf: link

Eu gosto de usar -#%&+,./:=?@_~ como o conjunto de separadores sem palavras.

% bl0ck_qu0te%     
por A B 24.01.2016 / 19:37
1

Um recurso padrão muito útil implementado em outros terminais é a seleção progressiva de seções estendidas de uma linha na tela. por exemplo, dado

/home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr

clicar duas vezes em, digamos, filenr in dsr.filenr_34.ctr passaria de filenr para:

                              filenr_34
                          dsr.filenr_34.ctr
                       -3/dsr.filenr_34.ctr
                      2-3/dsr.filenr_34.ctr
                    r.2-3/dsr.filenr_34.ctr
               dir1_r.2-3/dsr.filenr_34.ctr
      username/dir1_r.2-3/dsr.filenr_34.ctr
 home/username/dir1_r.2-3/dsr.filenr_34.ctr
 home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677
 home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr
/home/username/dir1_r.2-3/dsr.filenr_34.ctr 23456677 dftrprpr

As simetrias circundantes podem ser resolvidas adicionando pares até o delimitador de próximo nível.

E, claro, o usuário deve ter a opção de alterar os padrões.

    
por marc 13.12.2012 / 14:20
1

Outras respostas não funcionam hoje ... isso funciona no ubuntu 18.04 ... primeiro identifique seu id do perfil do terminal gnome do UUID ... emita este no terminal

profile=$(gsettings get org.gnome.Terminal.ProfilesList default)

echo $profile  #  for me it gives b1dcc9dd-5262-4d8d-a863-c897e6d97969

agora faça alterações:

dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d97969/word-char-exceptions '@ms "-,.;?%&#_+@~·$/"'

até o ubuntu 18.04 ser consertado o seguinte comando de leitura falha silenciosamente enquanto ele funcionava bem no ubuntu 16.04

dconf  read  /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/word-char-exceptions
    
por Scott Stensland 09.04.2018 / 00:56
0

Estendendo a resposta @alberge, você pode executar o seguinte script python3 para alterar todos os seus perfis para fazer isso:

#!/usr/bin/python3

import subprocess

command = ["dconf", "list", "/org/gnome/terminal/legacy/profiles:/"]
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)

profiles = result.stdout.split('\n')

for profileString in profiles:
    if profileString.startswith(":"):
        changeCmdPart = "/org/gnome/terminal/legacy/profiles:/" + profileString + "word-char-exceptions"
        changeCmd = ["dconf", "write", changeCmdPart, '@ms "-#%&+,./:=?@_~"']
        subprocess.run(changeCmd)

print("done!")

Ou você pode simplesmente executar:

curl -s http://scripts.programster.org/scripts/5?output=raw | python3
    
por Programster 08.06.2016 / 13:18