sábado, 27 de setembro de 2025

Usando "shift" + "barra de espaços" para digitar underscore no Linux

Em nosso cotidiano digital, o uso de espaços para separar palavras é natural e intuitivo. No entanto, no universo da programação e na nomeação de arquivos, essa prática aparentemente inofensiva pode se transformar em uma fonte de erros frustrantes e comportamentos inesperados de programas e sistemas.

Tanto em linguagens de programação quanto em interfaces de linha de comando (como o shell no Linux), o espaço em branco é tradicionalmente utilizado como um delimitador, ou seja, um caractere especial que separa diferentes elementos, como comandos, argumentos e parâmetros.

Sendo assim, como alternativa usual para evitar algum tipo de problema, muitos de nós temos a prática de substituir os espaços por outros caracteres ou padrões.

As alternativas mais comuns são:

  • Underscores "_": Usar o sublinhado para separar palavras. Exemplo: meu_arquivo.txt.
  • Hifens "-": Utilizar o hífen para separar palavras. Exemplo: meu-arquivo.txt.

Eu sou do grupo que utiliza underscores, quase sempre. Tanto que, para aumentar minha produtividade, resolvi aproveitar uma combinação de teclas não utilizada ("Shift" + "Spacebar"), como forma de digitar underscores.

É mais prático que a opção padrão de pressionar "Shift" com "-", esta última a tecla para hífen e underscore, que geralmente fica no canto superior direito do teclado é pequena e requer o uso das duas mãos.

Como essa solução me trouxe enorme satisfação, deixo aqui está dica de como fazer "Shift" com "barra de espaços" produzir o caractere underscore no Linux.

Nota: eu utilizo X11 e um teclado ABNT2. Para layouts de teclado diferentes creio ser possível obter os resultados com pequenas modificações das configurações que estão a seguir.

Passo 1. Como superuser, editar o arquivo:

/usr/share/X11/xkb/symbols/br

E adicionar as seguinte linhas, para criar uma variação de layout contendo a nova combinação de teclas:

// Customizado: Shift + Space = "_"
// by Tiago Matos <tiago@tmatos.net>
//
partial alphanumeric_keys
xkb_symbols "abnt2shiftspace" {

    include "br(abnt2)"
    name[Group1]="Portuguese (Brazil, com Shift+Space=_)";

    key <SPCE> { [        space,      underscore,        minus,     nobreakspace ] };
};

Passo 2. Também como superuser, editar o arquivo:

/usr/share/X11/xkb/rules/evdev.xml

Este arquivo XML contém uma árvore com várias definições de layout.

Procure pelo elemento <layout> que contenha, dentro do mesmo, o elemento: <name>br</name>.

Você deve chegar em algo do tipo:

    <layout>
      <configItem>
        <name>br</name>
        <shortDescription>pt</shortDescription>
        <description>Portuguese (Brazil)</description>
        <languageList>
          <iso639Id>por</iso639Id>
        </languageList>
      </configItem>
      ...
      ...
      ...

Logo abaixo disso, teremos o elemento <variantList>, com cada variação disponível dentro de uma tag <variant>.

Iremos adicionar a essa lista nossa nova variação de layout:

        <variant>
          <configItem>
            <name>abnt2shiftspace</name>
            <description>Portuguese (Brazil, com Shift+Space=_)</description>
          </configItem>
        </variant>

Passo 2.1. Pode ser necessário, depois das edições, executar o comando abaixo para a nova opção de layout ficar disponível:

sudo dpkg-reconfigure xkb-data

Passo 3. Finalmente, modificar a opção de layout do teclado no aplicativo de configurações do seu ambiente de desktop. E usufruir deste novo e prático recurso.

Nenhum comentário:

Postar um comentário