Skip to content

Latest commit

 

History

History
68 lines (36 loc) · 3.34 KB

03-editors.md

File metadata and controls

68 lines (36 loc) · 3.34 KB

Choose and learn your editor(s)

Computing's interface is text. To work effectively, you need to be fluent with this interface.

Typing

It may sound silly, but make sure you know how to type. You should be comfortable typing with perfect accuracy at 60 words per minute, at least. If you currently can't, practice until you can.

A lot of your work will be done in a text editor. You have to know how to use your editor. Any editor will work, but knowing a powerful editor well will make you faster, more comfortable, and more effective.

Terminal Editor

Sometimes you will need to use a non-graphical text editor. This means an editor that will run entirely inside a terminal window, without spawning a new window, entirely without mouse input.

Make sure that you know at least one of these well enough to do basic editing in a terminal:

  • Emacs
  • vim
  • nano

You should know at least enough vim to be able to get out of it, because it is the default on many systems and you might find yourself in it even if you didn't mean to be.

If you intend to use a graphical editor that doesn't run in a terminal, nano might be a good choice for you because it is very simple.

Both Emacs and vim have built-in interactive tutorials that you can try.


What terminal editor will you use? How did you make your decision?

I plan to try and pick up Emacs as much as I can. There seems to be a learning curve, but practice makes perfect, so continual use will help reenforce shortcuts and key combo's

I made my decision on Emacs because I wanted something customizable, still being developed, and can be scaled for different languages as the future or coding languages changes.


Graphical Editor

You will probably spend most of your time with access to a graphical interface, where you have more choices in editors and integrated development environments.

Popular editors and IDEs include:

  • Emacs
  • vim
  • Sublime
  • Atom
  • Spyder
  • PyCharm

If you choose Emacs or vim, you will have essentially the same editor experience across graphical and non-graphical environments, which is nice. It's also nice to be able to work without ever having to use a mouse. Emacs and vim have somewhat steep learning curves, but they give you the ability to customize your environment quite a lot to make it exactly what you want.

Sublime is probably the most popular editor for new coders. You can set it up to integrate with Python fairly well. Atom is pretty similar to Sublime but has an interesting open architecture and is developed by folks at GitHub.

Spyder and PyCharm are IDEs for Python. They try to give you a fully configured setup out of the box.

We will also use Jupyter (IPython) notebooks, but this does not remove the need for proficiency in an editor or IDE.


What graphical editor will you use? How did you make your decision? What are some interesting features of your editor? What are some useful keyboard shortcuts for your editor? How do you customize your editor?

I have used PyCharm to date due to picking things up faster and being able to test code quicker with an IDE. Now that I am a bit more comfortable, I have looked into others and I like how Atom is laid out and will probably transition to using it from now on. I will update with more regarding features, shortcuts and customization when I spend more time with Atom.