"Corrija" as teclas Home, End, Page Up e Page Down do seu Mac
Quem chegou ao Mac vindo de outras plataformas, como o Windows ou o Linux, pode passar muito tempo estranhando o comportamento das teclas Home, End, Page Up e Page Down (ou Fn pressionada em conjunto com ⬅, ➡, ⬆ e ⬇, nos MacBooks) no OS X: ao invés de mover o cursor para o começo ou final da linha, uma tela acima ou uma tela abaixo, como estamos acostumados, elas fazem algo bem diferente:
- Home: desloca a janela de visualização até a primeira linha do texto
- End: desloca a janela de visualização até a última linha do texto
- Page Up: desloca a janela de visualização uma tela acima
- Page Down: desloca a janela de visualização uma tela abaixo
Em todos os 4 casos acima, a janela de visualização é deslocada sem mover o cursor/ponto de inserção, em um comportamento nitidamente planejado para ser usado por pessoas que usam o mouse como auxiliar constante na tarefa de composição.
Em alguns casos (como o do BBEdit, meu editor de texto preferido), esse comportamento é configurável, como você pode ver na tela acima.
Na maioria dos demais casos, a movimentação do cursor segue cegamente o comportamento definido pelo sistema operacional, alterando profundamente o funcionamento dessas teclas fundamentais para a produtividade na edição.
O OS X não oferece a alternativa de alterar esse comportamento nas Preferências, mas felizmente é possível alterar essa configuração da forma clássica: basta criar um arquivo ~/Library/KeyBindings/DefaultKeyBinding.dict
(ou /Users/[seu login]/Library/KeyBindings/DefaultKeyBinding.dict – crie o diretório se necessário) e incluir nele as seguintes linhas:
{
/* home */
"\UF729" = "moveToBeginningOfLine:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
/* end */
"\UF72B" = "moveToEndOfLine:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
/* page up/down */
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";
/* Cmd-Left */
"@\UF702" = "moveToBeginningOfLine:";
"$@\UF702" = "moveToBeginningOfLineAndModifySelection:";
/* Cmd-Right */
"@\UF703" = "moveToEndOfLine:";
"$@\UF703" = "moveToEndOfLineAndModifySelection:";
}
Pronto: a partir da próxima execução dos seus aplicativos que fazem uso do mapeamento de teclas default do sistema operacional, eles irão tratar as teclas Home, End, Page Up e Page Down (ou Fn pressionada em conjunto com ⬅, ➡, ⬆ e ⬇, nos MacBooks) da forma como você se acostumou há décadas, e de brinde as combinações ⌘+⬅ e ⌘+➡ vão passar a operar como se fossem Home e End. Ah, e quando usadas em conjunto com a tecla Shift, as teclas Home e End modificam as seleções da forma tradicional também.
No Terminal
Se você se interessa por configurar itens a partir de arquivos-texto e por modificar o comportamento do teclado, é grande a probabilidade de você ser usuário também do Terminal, e neste caso você irá notar que as alterações acima não têm o mesmo efeito lá.
Mas, graças a um artigo clássico indicado pelo Fábio FZero, descobri qual a configuração necessária para essas teclas funcionarem como no tempo em que eu usava um Terminal especialmente bem configurado no Linux.
A configuração é em duas partes, sendo que a primeira ocorre nas Preferências do app Terminal (basta pressional ⌘+, quando estiver usando o Terminal), aba Teclado.
Na aba Teclado, altere as teclas abaixo para que fiquem com a ação "enviar string ao shell" e o conteúdo a seguir:
- Início: [1~
- Fim: [4~
- Avançar página: [6~
- Retroceder página: [5~
Se tiver dificuldade para digitar os códigos, simplesmente copie e cole a partir da lista acima.
Em seguida, para completar, edite (ou crie) um arquivo ~/.inputrc
com o seguinte conteúdo:
"[1~": beginning-of-line
"[4~": end-of-line
"[5~": history-search-backward
"[6~": history-search-forward
"[3~": delete-char
"[2~": quoted-insert
"[5C": forward-word
"[5D": backward-word
"[C": forward-word
"[D": backward-word
set completion-ignore-case On
E pronto: na próxima aba ou terminal que você abrir, as teclas Home e End deslocarão o cursor para o início e final da linha, Option+setas deslocarão o cursor de palavra em palavra, e Page Up e Page Down farão pesquisa no histórico (por exemplo, digite ls
e Page Up, e você verá os últimos comandos ls que constam no seu histórico).
Comentar
Comentários arquivados