Sublime Text 2 console input [duplicate]

ghz 1years ago ⋅ 3980 views

Question

This question already has answers here :

Can't send input to running program in Sublime Text (5 answers)

Closed 3 years ago.

I use Sublime Text 2 but it won't let me enter any value when my code asks for user input. (In other words: input() in Python and gets in Ruby fail to correctly prompt me for input).

Python throws an EOFError error (what you get when user doesn't enter anything).

Simply USER INPUT isn't working in Sublime Text 2 for me.

EDIT: FOR EXAMPLE

try:
    text = input('Enter something: ')
    print text
except EOFError:
    print('\nEOFError')

=> Enter something: #cannot enter anything to var "text"
=> EOFError
=> [Finished]

Answer

Sublime text doesn't support that. But you can get around it (at least in python) by using SublimeREPL, I use this for everything, it works pretty great. Its a little cooky though, as the tab is still editable like a normal sublime tab (which is good and bad)...

It also allows you to run the interpreter in multiple tabs, its basically awesome.

To install it you need package control this lets you easily install plugins. To get it go here, and follow the instructions. Once thats done:

  • in Sublime press ctrl + shift + P (linux command in ST for 'goto anything').
  • Type in 'install',
  • click on 'sublime package control: install package'.
  • Then select SublimeREPL. It will install it automatically.
  • To use it go to Tools>sublimerepl>python from the menus.

To make the default build system SublimeREPL, you can follow these [instructions](https://stackoverflow.com/questions/19732006/how-to-run-python- code-on-sublimerepl/23722631#23722631).