El enlace de atajo de teclado de texto sublime no funciona


11

Siguiendo las instrucciones aquí , he configurado una nueva instalación de SublimeText para usar con R. No tengo instalados otros complementos de SublimeText. Los métodos abreviados de teclado que se configuran utilizando las instrucciones del enlace anterior no funcionan. He configurado mi archivo de enlace de clave de usuario como se especifica en el tutorial.

No hay enlaces de teclas en conflicto en el archivo de enlaces de teclas 'Por defecto'.

No obstante, puedo ejecutar mi código R en REPL haciendo clic en los menús:

Herramientas> SublimeREPL> Eval en REPL> Selección ( Ctrl+ Shift+ R)

Si realmente presiono el atajo Ctrl+ Shift+ R, no pasa nada.

Aquí hay una copia de mi archivo de enlace de clave de usuario:

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

]

¿Qué estoy haciendo mal?


2
Abra la consola (ctrl + ~) e ingrese sublime.log_commands(True). Luego díganos qué dice la consola después de ingresar la combinación de teclas.
d_rail

Muchas gracias @d_rail. Curiosamente, ni siquiera puedo llamar a la consola usando ctrl + ~ (el menú de la ventana dice que el acceso directo es ctrl + `; esto tampoco funciona). En cualquier caso, la consola no informa nada cuando presiono ctrl + shift + R con el sublime.log_commands(True)activado. Otros accesos directos comunes, como ctrl + a, ctrl + c, etc. funcionan y se informan en la consola.
CaptainProg

Bien, aquí está la cosa rara; si presiono ctrl + shift + CapsLock + R, funciona ...
CaptainProg

Lamento darte información incorrecta, el backtick es correcto. Parece que la combinación de teclas no está establecida. Pero, no veo nada malo con la configuración enumerada. Comenzaría con las combinaciones de teclas predeterminadas desde aquí: github.com/wuub/SublimeREPL/blob/master/… (o la correcta para su sistema operativo). Y asegúrate de que funcione. Luego, cambie una clave a la vez para ver qué lo está estropeando.
d_rail

¿Ya se ha encontrado una solución para este problema?
music2myear

Respuestas:


0

Esto tiene una solución simple. Hay un error en el archivo de configuración, uno simplemente necesita eliminar la línea 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

Gracias al siguiente comentario de OP:

Bien, aquí está la cosa rara; si presiono ctrl + shift + CapsLock + R, funciona ...

Supongo que eso ["ctrl+shift+r"]espera en minúsculasr , sin embargo, cuando ha presionado shift (que es parte de la combinación de teclas de acceso directo), lee en mayúsculas R.

Cuando OP ha activado su Bloqueo de mayúsculas, presionar rnormalmente habría salido R, pero mientras SHIFTse presiona la tecla, se lee en minúsculas r.

Esto probablemente ocurre porque Sublime intenta leer exactamente el mismo carácter, en lugar del código de tecla del botón presionado.

Y, por lo tanto, la solución debe usar la letra de caso opuesta cuando está en una combinación de teclas que incluye SHIFT(usando en Rlugar de ren este 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"}},
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.