you can find a lot of functions like the ones in jupyter at https://github.com/jkitchin/scimax/blob/master/scimax-ob.el. I setup my ipython like this: https://github.com/jkitchin/scimax/blob/master/scimax-org-babel-ipython-upstream.el#L89 although I will note there are several setups in that file, e.g. this hydra: https://github.com/jkitchin/scimax/blob/master/scimax-org-babel-ipython-upstream.el#L271 and these: edit: https://github.com/jkitchin/scimax/blob/master/scimax-org-babel-ipython-upstream.el#L271 command: https://github.com/jkitchin/scimax/blob/master/scimax-org-babel-ipython-upstream.el#L526 I don't use them all, but leave them to remind me sometimes. John ----------------------------------- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Sat, Nov 14, 2020 at 3:20 PM Juri Linkov wrote: > I've switched to Org Babel as a replacement of Jupyter Notebook since I > already > tired copying Julia program texts back and forth between Jupyter pages > in web browsers and Emacs. Fortunately, Org Babel can do everything that > Jupyter Notebook does. Except that there is a small usability feature > that I miss in Org Babel. Typing 'C-RET' in Jupyter evaluates the current > code block. In Org Babel 'C-RET' inserts a new heading at the end of > the current subtree. To evaluate the code block there is 'C-c C-c' > (org-ctrl-c-ctrl-c). Thus the equivalent of 'C-RET' is 'C-c C-c'. > So far, so good. > > What I miss in Org Babel is an equivalent of 'S-RET' that in Jupyter > creates a new code block relative to the current code block. > > Actually, in Org Babel such a command already exists and is bound to > the needed key 'S-RET', but currently it works only on tables: > the command is 'org-table-copy-down' and it copies the current field > down to the next row and moves point along with it. This is exactly > what is needed also in context of code blocks. > > Maybe like there is already the command named 'org-ctrl-c-ctrl-c', > a new general command bound to e.g. 'org-s-ret' could do this > depending on context. > > PS: another similarity is how typing RET in shell buffers > inserts a new prompt where the user can type a new command. > 'S-RET' in code blocks could work the same way: type 'S-RET' > and write code in the next code block, and type 'S-RET' again. > >