Atalhos de Teclado

Os atalhos de teclado do Sublime Text são configurados em arquivos com a extensão .sublime-keymap. Você pode ter acesso ao arquivo que traz as configurações de atalho padrão em Preferences | Key Bindings (Default) (Figura 29).

Da mesma forma que o arquivo de preferências que vimos no capítulo Configuração de Preferências, o arquivo default não deve ser modificado [1]. Se precisar fazer algum ajuste, copie a linha desejada para o arquivo que está em Preferences | Key Bindings (User) e faça alteração pretendida.

Acessando arquivo de configurações de atalhos de teclado

Fig. 29 Acessando arquivo de configurações de atalhos de teclado

Associações de teclas (key bindings)

As associações de teclas (key bindings) permitem mapear uma determinada combinação de teclas a um comando registrado no Sublime Text.

No exemplo abaixo, vemos como o Sublime Text associa combinações de teclas a três comandos bem conhecidos:

{ "keys": ["ctrl+x"], "command": "cut" },
{ "keys": ["ctrl+c"], "command": "copy" },
{ "keys": ["ctrl+v"], "command": "paste" },

Uma associação de teclas básica deve ter os atributos keys, para indicar a combinação de teclas e command, para indicar qual comando será executado por essa combinação.

Associações de teclas mais avançadas podem envolver comandos que necessitam que sejam passados um ou mais argumentos para funcionar. Por exemplo, sabe o que acontece nos bastidores quando você pressiona a tecla Enter? A associação de teclas que está no arquivo Default de mapeamento de teclas pode nos dizer:

{ "keys": ["enter"], "command": "insert",
  "args": "characters": "\n"} },

Podemos ver que a combinação composta pela tecla Enter, dispara o comando insert que, por sua vez, requer o argumento characters, que nesse casso é o caractere de quebra de linha (\n).

Também é possível criar associações de teclas compostas por múltiplas combinações. Perceba que o atributo keys é delimitado por colchetes, o que indica que é uma lista de valores. Portanto, você pode fazer algo semelhante ao atalho padrão para habilitar ou desabilitar a barra lateral:

{ "keys": ["ctrl+k", "ctrl+b"],
  "command": "toggle_side_bar" },

Atalhos desse tipo indicam que você deve pressionar Ctrl+K, soltar a tecla K e em seguida pressionar a tecla B.

Layouts de teclado versus atalhos

Devido à maneira que o Sublime Text trata os pressionamentos de teclas, alguns atalhos padrão podem não funcionar com determinados layouts de teclado.

Um exemplo comum é o caso do Sublime Text para Windows. Em função do posicionamento das teclas em teclados com layout ABNT2, combinações de teclas como Ctrl+] (inserir indentação) e Ctrl+[ (remover indentação) podem não funcionar como esperado.

Quando isso acontece, pode ser desejável para o usuário remapear as combinações de teclas para que reflitam os atalhos originais. Antes de fazer isso, é preciso descobrir como o Sublime Text está interpretando as teclas pressionadas.

Para obter essa informação, siga estes passos:

  1. Habilite o console do Sublime Text em View | Show Console

  2. Uma vez no console, habilite o log de eventos, digitando sublime.log_input(True) e em seguida a tecla Enter

  3. Digite a combinação de teclas de atalho desejada e observe o valor que aparece no console (Figura 30)

Habilitando o log de eventos do |ST| e verificando evento da tecla de atalho Ctrl+] no teclado ABNT2

Fig. 30 Habilitando o log de eventos do Sublime Text e verificando evento da tecla de atalho Ctrl+] no teclado ABNT2

Uma vez que você já sabe qual a combinação que realmente está sendo considerada pelo Sublime Text, é hora de configurar o arquivo de atribuições de teclas.

  1. Vá em Preferences | Key Bindings - Default e procure pela combinação de teclas original (ex.: Ctrl+])

  2. Copie a linha de configuração correspondente e cole no arquivo de atribuições de teclas do usuário (Preferences | Key Bindings - User)

  3. Substitua o Ctrl+] do exemplo pela combinação que você identificou no console e salve o arquivo

Fazendo isso, sua instalação do Sublime Text estará configurada para utilizar o atalho correto, da maneira que é mostrado no teclado.