From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id ePTMKgI8sF8uFgAA0tVLHw (envelope-from ) for ; Sat, 14 Nov 2020 20:20:18 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id qKKdJgI8sF+dXwAA1q6Kng (envelope-from ) for ; Sat, 14 Nov 2020 20:20:18 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 47EA5940357 for ; Sat, 14 Nov 2020 20:20:18 +0000 (UTC) Received: from localhost ([::1]:48708 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ke21w-00080S-V3 for larch@yhetil.org; Sat, 14 Nov 2020 15:20:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ke21L-0007zb-Jg for emacs-orgmode@gnu.org; Sat, 14 Nov 2020 15:19:39 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:45087) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ke21J-0007uc-D9 for emacs-orgmode@gnu.org; Sat, 14 Nov 2020 15:19:39 -0500 X-Originating-IP: 91.129.97.46 Received: from mail.gandi.net (m91-129-97-46.cust.tele2.ee [91.129.97.46]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 0715E60002 for ; Sat, 14 Nov 2020 20:19:32 +0000 (UTC) From: Juri Linkov To: emacs-orgmode@gnu.org Subject: S-RET Organization: LINKOV.NET Date: Sat, 14 Nov 2020 22:15:09 +0200 Message-ID: <87sg9bn19u.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=217.70.183.195; envelope-from=juri@linkov.net; helo=relay3-d.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/14 15:19:33 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -0.64 X-TUID: IGkXGoc6XP+9 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.