Ligação de atalho de teclado de texto sublime não está funcionando

10

Seguindo as instruções aqui , configurei uma nova instalação do SublimeText para use com R. Eu não tenho nenhum outro plug-in SublimeText instalado. Os atalhos de teclado que são configurados usando as instruções no link acima não funcionam. Configurei meu arquivo de ligação de chave do usuário, conforme especificado no tutorial.

Não há ligações de chave conflitantes no arquivo de atalhos de teclado 'Padrão'.

No entanto, eu posso executar meu código R no REPL clicando nos menus:

Tools > SublimeREPL > Eval in REPL > Selection (Ctrl+Shift+R)

Se eu realmente pressionar o atalho Ctrl + Deslocamento + R , nada acontece.

Aqui está uma cópia do meu arquivo de ligação de chave do usuário:

[
// Modified Sublime-REPL keybindings for an "R-friendly" set of shortcuts.
// For more information, see http://tomschenkjr.net/2012/05/17/using-sublime-text-2-for-r/

// Executes a selection of text in REPL, latter only displays code and does not execute
{ "keys": ["ctrl+shift+r"], "command": "repl_transfer_current", "args": {"scope": "selection"}},
{ "keys": ["ctrl+shift+r", "r"], "command": "repl_transfer_current", "args": {"scope": "selection", "action":"view_write"}},

// Executes the entire file (build) in REPL, latter only displays code and does not execute
{ "keys": ["ctrl + f7"], "command": "repl_transfer_current", "args": {"scope": "file"}},
{ "keys": ["ctrl + f7", "r"], "command": "repl_transfer_current", "args": {"scope": "file", "action":"view_write"}},

// Executes line(s) of text in REPL terminal, latter only displays code and does not execute
{ "keys": ["ctrl+alt+r"], "command": "repl_transfer_current", "args": {"scope": "lines"}},
{ "keys": ["ctrl+alt+r", "r"], "command": "repl_transfer_current", "args": {"scope": "lines", "action":"view_write"}},

// Executes a block (e.g., a custom function) of text in REPL terminal, latter only displays code and does not execute
{ "keys": ["ctrl+shift+alt+r"], "command": "repl_transfer_current", "args": {"scope": "block"}},
{ "keys": ["ctrl+shift+alt+r", "r"], "command": "repl_transfer_current", "args": {"scope": "block", "action":"view_write"}}

]

O que estou fazendo de errado?

    
por CaptainProg 28.07.2013 / 18:11

2 respostas

0

Isso tem uma solução simples. Há um erro no arquivo de configuração, basta remover a linha shift + ctrl + r, r:

[
// Modified Sublime-REPL keybindings for an "R-friendly" set of shortcuts.
// For more information, see http://tomschenkjr.net/2012/05/17/using-sublime-text-2-for-r/

// Executes a selection of text in REPL, latter only displays code and does not execute
{ "keys": ["ctrl+shift+r"], "command": "repl_transfer_current", "args": {"scope": "selection"}},

// Executes the entire file (build) in REPL, latter only displays code and does not execute
{ "keys": ["ctrl + f7"], "command": "repl_transfer_current", "args": {"scope": "file"}},


// Executes line(s) of text in REPL terminal, latter only displays code and does not execute
{ "keys": ["ctrl+alt+r"], "command": "repl_transfer_current", "args": {"scope": "lines"}},


// Executes a block (e.g., a custom function) of text in REPL terminal, latter only displays code and does not execute
{ "keys": ["ctrl+shift+alt+r"], "command": "repl_transfer_current", "args": {"scope": "block"}},


]
    
por 26.10.2017 / 12:51
0

Graças ao seguinte comentário do OP:

Okay, here's the weird thing; if I press ctrl+shift+CapsLock+R, it works...

Eu posso adivinhar que ["ctrl+shift+r"] espera por um minúsculo r , no entanto, quando você pressiona Shift (que é uma parte da combinação de teclas de atalho), ele lê uma% maiúscula código%.

Quando o OP ativou seu CapsLock, pressionar R normalmente teria gerado r , mas enquanto a tecla R é pressionada, ele lê minúsculas SHIFT .

Isso provavelmente acontece porque o Sublime tenta ler exatamente o mesmo caractere, em vez do código-chave do botão pressionado.

E, assim, a solução deve estar usando a letra de caixa oposta quando em uma combinação de chaves incluindo r (usando SHIFT em vez de R neste caso):

// Executes a selection of text in REPL, latter only displays code and does not execute
{ "keys": ["ctrl+shift+R"], "command": "repl_transfer_current", "args": {"scope": "selection"}},
{ "keys": ["ctrl+shift+R", "r"], "command": "repl_transfer_current", "args": {"scope": "selection", "action":"view_write"}},
    
por 09.08.2018 / 12:54