La scorciatoia da tastiera del testo sublime non funziona


11

Seguendo le istruzioni qui , ho impostato una nuova installazione di SublimeText per l'uso con R. Non ho altri plug-in SublimeText installati. Le scorciatoie da tastiera che sono state configurate usando le istruzioni nel link sopra non funzionano. Ho impostato il mio file di associazione chiave utente come specificato nel tutorial.

Non ci sono combinazioni di tasti in conflitto nel file "Default" delle combinazioni di tasti.

Tuttavia, posso eseguire il mio codice R in REPL facendo clic sui menu:

Strumenti> SublimeREPL> Eval in REPL> Selezione ( Ctrl+ Shift+ R)

Se in realtà premo il tasto Ctrl+ Shift+ R, non succede nulla.

Ecco una copia del mio file di associazione chiave utente:

[
// 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"}}

]

Che cosa sto facendo di sbagliato?


2
Apri la console (ctrl + ~) ed entra sublime.log_commands(True). Quindi dicci cosa dice la console dopo aver inserito l'associazione dei tasti.
d_rail,

Mille grazie @d_rail. È interessante notare che non posso nemmeno chiamare la console usando ctrl + ~ (il menu della finestra dice che il collegamento è ctrl + `; neanche questo funziona). In ogni caso, la console non segnala nulla quando premo ctrl + maiusc + R con l' sublime.log_commands(True)attivazione. Altre scorciatoie comuni, come ctrl + a, ctrl + c ecc funzionano e sono riportate nella console.
CaptainProg,

Ok, ecco la cosa strana; se premo ctrl + maiusc + CapsLock + R, funziona ...
CaptainProg,

Mi dispiace darti informazioni sbagliate, il backtick è giusto. Sembra che il keybinding non sia impostato. Ma non vedo nulla di sbagliato nelle impostazioni elencate. Vorrei iniziare con le combinazioni di tasti predefinite da qui: github.com/wuub/SublimeREPL/blob/master/… (o quella giusta per il tuo sistema operativo). E assicurati che funzioni. Quindi cambia un tasto alla volta per vedere cosa c'è che non va.
d_rail,

È stata ancora trovata una soluzione per questo problema?
music2myear

Risposte:


0

Questa ha una soluzione semplice. C'è un errore nel file di configurazione, è sufficiente rimuovere la riga 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"}},


]

0

Grazie al seguente commento dell'OP:

Ok, ecco la cosa strana; se premo ctrl + maiusc + CapsLock + R, funziona ...

Posso indovinare che ["ctrl+shift+r"]attende una lettera minuscolar , tuttavia, quando si preme shift (che fa parte della combinazione di tasti di scelta rapida), si legge una lettera maiuscola R.

Quando OP ha attivato il suo CapsLock, la pressione rnormalmente sarebbe stata emessa R, ma mentre il SHIFTtasto è premuto, si legge in minuscolo r.

Questo probabilmente accade perché Sublime tenta di leggere lo stesso identico carattere, piuttosto che il codice tasto del pulsante premuto.

E quindi, la soluzione dovrebbe usare la lettera maiuscola opposta quando in una combinazione di tasti compreso SHIFT(usando Rinvece che rin questo 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"}},
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.