2/19/2023 0 Comments Aquamacs debug modeIf there is something that it doesn't have, check for packages, else emacs is the most customizable editor you will find. If you're a git user, Emacs has magit which make working with git a joy. Or perhaps you're a long time vim user? Evil Mode gives you the editing power of Vim with the utility of emacs. Perhaps you're wedded to sublime's multiple cursors? You can get it. I couldn't do it justice, but this demo gives you a taste for the amazing things it can do. With just a few keys you can instantly find what you are looking for. Or perhaps there is a block of white space you need to change.įigure 10: "Using rectangle mode to alter blocks of text" Everything at your finger tipsĮmacs has numerous packages that allow you to search and find files, functions and anything else that you can imagine. Sometimes you may want to delete or move a column around. You can select a region of code, send it to a terminal command and have that stdout replace the text in your buffer!įigure 9: "Using SED to find and replace text in the buffer" Rectangle editingĭata scientists often work with tabular data. But what makes this feature super cool is that it can operate on your text. Is there are terminal command you wish you could run? In emacs you can run terminal commands easily. Or perhaps you are working on a cluster with no gui and you need to interactively debug your scripts.įigure 8: "Works in the terminal just as well" Interacting with the shell Sometime you need to remote into a server. You can also use this to organize your code. They key to this magic is a monster package called org mode. While Rstudio allows this also, you're limited to just R and latex.įigure 7: "Literate Programming: Code & Stata"ĭo you need latex? No problem. Iterate quickly.įigure 6: "Interactive SQL" Org mode / Literate Programmingĭo you write publications? Do you want to keep your code and paper together? You a believer in reproducible research? With emacs you can put any language you want in your document. Do you have a long SQL statement you are debugging? No problem. Work with sqlite, postgresql, mysql and other databases interactively. This saves you a ton of time when you're doing statistical analysis 1.ĭo you work with databases? Many of the same benefits mentioned above also apply to sql. ![]() Let me be clear – you don't even have to highlight the code. With a keyboard short cut you can send a buffer, function, paragraph or line to the interpreter. One of the features that first sold me on Emacs was interactive commands. One of the things that I enjoy is easy access to help and function parameters … which often also come with autocomplete.Įnough with the print statements already and debug that R and python code!įigure 4: "Interactive debugging with conditional breakpoint" The number of IDE features available will vary by language, but at minimum there is probably syntax highlighting and some form of autocompletion. Packages like ESS and Elpy provide additional features like autocompletion, documentation and debugging capabilities. IDE-like featuresįor most programming languages, you get out-of-the-box syntax highlighting. The learning curve can be steep, but I think the investment is worth it.īelow are some key features that I think make Emacs an excellent editor for any data scientist. You can do all that with Emacs and customize it to do whatever you like. Or maybe you need to write papers with latex. Or perhaps you have to work on a cluster with no gui. Some projects may be in R others in Python. These work with just about any language you can imagine and with some add-ons you can get additional features, but they tend to be limited to certain platforms and customization is often non-trivial.Ī modern data scientist often has to work on multiple platforms with multiple languages. At the other end of the spectrum there are text editors like notepad++ and sublime. Plus, once they fall out of favor or stop being updated, your hard-gained knowledge is lost. What if you want to work in another language? Or combine languages? You end up using several IDEs, but not knowing them well. Chances are there is a specialized IDE for whatever language you typically work in. If you work in python, you might be tempted by Spyder. If you work in exclusively in R, you might want to work in Rstudio. If you want an editor that is highly customizable and will be around after most editors have come and gone, then you'd be hard pressed to find anything better than Emacs. If you want an editor that works on any platform and as well as on the terminal. If you want an editor with IDE-like features. If you want an editor that works with R, Python, SAS, Stata, SQL and almost any other data science language.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |