Nie wiem o konsoli, ale jest to możliwe z SublimeREPL.
Dopóki masz REPL i plik tego samego języka otwarty w tym samym czasie, możesz wysłać wiersz (lub wybór lub plik) do otwartego REPL poprzez SublimeREPL Source Buffer Keys. Domyślnie Ctrl+,
, a następnie l
wysyła bieżącą linię do REPL, ale można zmienić skrót klawiaturowy na Ctrl+Enter
(tylko w języku Python, aby chronić domyślne funkcje innych języków w wersji Ctrl+Enter
), dodając te wiersze do górnej części pliku Preferences -> Key Bindings – User
:
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
]
},
Inne zakresy (z Preferences -> Browse Packages -> SublimeREPL/Default (Windows).sublime-keymap
) są selection
, file
i block
(Clojure tylko). Jeśli chcesz wysłać wiersz do REPL ale nie analizować je natychmiast, można dodać "action":"view_write"
do obiektu args
, tak:
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines", "action": "view_write"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true }
]
},
Zobacz Unofficial Sublime Text 2 Docs uzyskać więcej informacji na temat kluczowych wiązań.
W przypadku, gdy REPL jest otwarty w innej karcie niż źródło (zamiast oddzielnego widoku), skróty kodu źródłowego będą , a nie skupiać się na REPL. Jestem pewien, że można zaimplementować jakiś klawisz przełączania kart, ale brzmi to jak problem z innym pytaniem.
To jest wspaniałe. Dziękuję @ProtractorNinja. Szybkie pytanie: czy można uzyskać obie funkcje. Chciałbym wysłać linię do konsoli i zobaczyć ją, zanim zostanie wykonana. Dzięki - przepraszam przez konsolę, mam na myśli REPL –
@TahnoonPasha Tak! Dodaj drugi większy fragment kodu do pliku 'Key Bindings - User' obok pierwszego i dopasuj" "klucze" 'do tego, co chcesz, aby kluczem send-but-not-assess było, powiedzmy,' ctrl + shift + enter'. Następnie 'ctrl + enter' wyśle * i * oceni linię, podczas gdy' ctrl + shift + enter' wyśle i * nie * oceni linię. Jeśli nie interesują Cię niestandardowe klawisze, domyślną kombinacją klawiszy "wyślij, ale nie wyceń", jest "ctrl + shift +", a następnie "l". –
Dzięki @ProtractorNinja Myślę, że muszę robić coś złego. Kiedy wykonuję wysyłanie i oceniam, nie echo w terminalu REPL, to po prostu ocenia i zwraca dodatkowe ">>>", kiedy jest gotowe. Miałem nadzieję, że gdybym miał np. 'Import imaplib' i zrobiłem' ctrl + enter', zobaczyłbym '>>> import imaplib', który by ocenił, a następnie nowy" >>> ". Czy twój kod ma taki efekt? Jeszcze raz dziękuję za pomoc w tej sprawie. –