Posso usar a chave 'cmd' no terminal Vim?

19

Seguindo a minha outra pergunta recente: Como mapear < cmd > - < shift > -f para executar o plugin Ack no Vim?

É possível usar a chave <cmd> no Vim?

Se o Vim não reconhecer a chave, é possível remapear a chave fora do Vim (de alguma forma?) para outra coisa e mapear essa chave dentro do Vim?

Estou usando o iTerm 2 no Lion com o Vim 7.3.

Obrigado!

    
por jordelver 09.02.2012 / 13:08

4 respostas

10

<D-> só funciona no MacVim.

Um rápido google retornará um monte de hacks e soluções de terceiros. Todas as soluções que conheço funcionam em todo o sistema ou são específicas do aplicativo: se você remapear Cmd apenas no iTerm2, como você abrirá uma nova janela ou uma nova guia? Com… com… o… MOUSE?

Não consigo imaginar uma boa razão para remapear a tecla Cmd para qualquer coisa em um Mac. Isso seria insano.

O Vim não é o TextMate ou qualquer outro editor que você tenha usado antes. Não há como transferir todos os seus velhos hábitos sem problemas, em branco.

Em vez de desperdiçar seu tempo tentando tornar o Vim e seu terminal em algo que não é e não pode ser, você deve aprender como usar e personalizar o Vim com sabedoria. Todos os combos Cmd + Shift + Ctrl + Alt não levarão você a lugar nenhum. Especialmente em um terminal onde Alt é frequentemente problemático e Cmd inutilizável.

Considere o uso de <leader> ( :help leader ):

  • é portátil em todas as plataformas
  • é menos propenso a conflitos com seu sistema operacional ou emulador de terminal
  • abre muitas possibilidades fáceis de lembrar
por 09.02.2012 / 14:05
4

Para comandos simples, há uma solução via envio do código hexadecimal apropriado para o terminal. Por exemplo, eu queria salvar no vim pressionando cmd-s . Mapei cmd-s em iterm2 para enviar o código hexadecimal 0x13 , que é o código para ctrl-s , depois mapeei ctrl-s para :wq no vim.

    
por 11.02.2015 / 02:05
4

Descobri que o iterm2 tem uma opção nas configurações do teclado para fazer esse tipo de coisa. Por ex abaixo eu mapeei o comando-enter para ser: wq

    
por 02.09.2017 / 23:37
3

A solução de 2016 é usar o programa de código aberto Karabiner que permite remapear o modificador e outras teclas com muito granularidade fina , por exemplo

  • Remapear somente a tecla esquerda ⌘ Cmd ou Opção .
  • Remapear uma chave apenas para aplicativos específicos, por exemplo, somente dentro do Terminal, Emacs ou máquina virtual.

Por exemplo, aqui está como remapear a tecla ⌘ Cmd para agir como Ctrl somente dentro do Terminal (e deixar a direita não afetada que você ainda pode usar, por exemplo, ⌘ Cmd + Tab para alternar entre aplicativos):

    
por 16.01.2016 / 22:59