Conflitto di chiavi del pacchetto di Sublime Text 3 in conflitto con CTRL-d e CTRL-l


0

Vedo molte domande su scoperta conflitti di binding delle chiavi in ​​Sublime Text 3, ma non come risolverli. Ho seguito la guida Qui per copiare il file di associazione chiave predefinito del pacchetto nel file di binding della chiave utente del pacchetto e sostituito il binding della chiave in conflitto (qui CTRL-d e CTRL-l ) con associazioni di tasti non conflittuali (qui CTRL-SHIFT-d e CTRL-SHIFT-l ). Ma quando lo uso CTRL-d o CTRL-l nel tipo di file per il pacchetto in conflitto (file .do di Stata) ottengo l'azione di associazione di chiavi in ​​conflitto (ad es. non seleziona parola o linea). Questo è anche dopo aver riavviato Sublime Text 3.

C'è un modo per risolvere questo conflitto? O anche disattivare tutte le associazioni di tasti per un pacchetto?

FWIW, il pacchetto è StataEditor e qui è la parte modificata del StataEditor file di collegamento chiave utente.

[
    { "keys": ["ctrl+shift+d"],   "command": "stata_execute", "args": {"Mode": "do"}, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "source.stata" }
        ]
    },
    { "keys": ["ctrl+shift+r"], "command": "stata_execute", "args": {"Mode": "run"}, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "source.stata" }
        ]
    },

Risposte:


2

Un modo in cui credo sia possibile risolvere il problema temporaneamente consiste nell'installare il pacchetto PackageResourceViewer, disponibile da Package Control. È quindi possibile modificare il file predefinito di StataEditor. Tuttavia, lo svantaggio è che questa modifica credo sarà superata quando StataEditor verrà aggiornato. Un altro modo è quello di modificare le impostazioni utente come sopra, ma anche l'uso predefinito di ctrl + d e ctrl + l.

{ "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} },
{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" },

Puoi leggere di più sul problema qui (anche se il link SO potrebbe non essere valido per ST3):

http://www.sublimetext.com/forum/viewtopic.php?f=3&t=13303 https://stackoverflow.com/questions/19245837/how-to-unbind-a-key-binding-in-sublime-text-2

Come autore del pacchetto, sono d'accordo sul fatto che ctrl + l era una scorciatoia scelta male. L'ho fatto principalmente per mia comodità al momento, ma potrei cambiarlo con un altro aggiornamento. Molto probabilmente lascerò ctrl + d rimanere come voglio rendere liscia la transizione per gli utenti Stata che sono abituati all'editor predefinito.


Ehi, Mattias! Grazie per l'aiuto (e un ottimo pacchetto)! Il primo collegamento non risolve la domanda (avevo provato questa opzione, ma non l'ho inclusa nel mio post). Ma il secondo link fa risolvi la domanda E io non penso il PackageResourceViewer è richiesto, potrei semplicemente navigare nel file dei bind delle chiavi di default usando i menu. Grazie per l'aiuto - sono meno contrario alla modifica dei file predefiniti. :)
Richard Herron

Solo per chiarimenti: hai modificato il file predefinito basato su Preferenze - & gt; Impostazioni pacchetto - & gt; StataEditor - & gt; Key Bindings - Default? Se è così, una parola di cautela è in ordine in quanto tali modifiche verranno sovrascritte ogni volta che il pacchetto viene aggiornato.
matnor

Sì, ho modificato il file dei tasti di default tramite PackageResourceViewer e capisco che questo file cambierà al prossimo aggiornamento del pacchetto (era la mia esitazione nel modificare questo file). Immagino che sarà ovvio quando ciò accadrà. :) E i tasti di scelta rapida CTRL-l e CTRL-d sono logici, io sono solo un ex utente Vim e mi manca l'abilità di selezionare rapidamente linee e parole. Grazie!
Richard Herron
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.