Como obter o uso de teclas CTRL e CMD no Mac no Apple Keyboard?

5

Estou muito acostumado com o emacs-like ctrl + a para significar "home" e cmd + a significa "selecionar todos". Similarmente ctrl + e é "fim", ctrl + d é "delete", ctrl + c faz o que eu espero no Terminal, e provavelmente mais alguns requisitos que eu não tenho em mãos.

Claro que o Ubuntu é um pouco diferente. A chave ctrl é funcionalmente mais pareada com a tecla cmd , mesmo que no layout do teclado físico a tecla cmd se vincule a super .

Então meu primeiro passo foi simplesmente trocar cmd e ctrl editando o xkb, já que restaura 70% da funcionalidade que estou perdendo.

Que na maior parte deixa a funcionalidade begin-end / delete e Mac- "control" relacionada, mas eu não sei uma boa maneira de dividir a funcionalidade ou mover alguma tecla super obscura para ctrl para Alcançar isso. Estou tentando encontrar uma estratégia coesa em geral, mas hacks são um passo.

Ubuntu 14.04.

    
por djechlin 04.11.2014 / 22:28

1 resposta

2

Para corrigir seu comportamento no terminal:

Uma maneira simples de conseguir o que você está tentando fazer é editar seus arquivos de configuração inicial. Para um terminal bash, você está procurando editar seu readline config, que seria seu .inputrc .

  1. Abra um terminal
  2. man readline Isso informa a maioria das suas opções de personalização. Se você rolar para baixo, ele mostrará como o modo emacs está configurado. Mais sobre isso abaixo.
  3. gedit .inputrc Isto é o que você deseja editar. Ele é carregado sempre que você efetua login e customiza seu comportamento de readline (o que o bash usa para entrada).

Como resolvi um problema semelhante.

Eu tive que fazer algo parecido porque eu uso o Vi Mode no Bash:

set -o vi
  • Eu também uso o Colemak.
  • Posteriormente, uso uma versão altamente personalizada de Vim .

Minha configuração .vimrc não afeta vi Mode para bash (e ZSH para esse assunto).

Então eu tive que criar um personalizado, e garoto foi muito trabalho:

link

Você pode usar meu código como modelo para trabalhar. Eu tenho todas as funções lá. Os que eu não uso são comentados. Você pode mapear seus personagens para duas coisas:

########
# Copy #
########
# Copy to
"c":    vi-yank-to 
# fake copy line
"C":    "0c$$"
  • vi-yank-to é uma função interna
  • "0c$$" é uma string personalizada (observe as aspas ao redor) que basicamente me simula pressionando 0, c, $, $ nessa ordem.

Deixe-me saber se você tem alguma dúvida.

    
por Akiva 31.12.2015 / 20:52