From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Pohlack Subject: Re: Smart(er) word wrapping with org-mode and visual-line-mode Date: Sun, 10 Jan 2010 20:09:23 +0100 Message-ID: <4B4A25E3.4020401@os.inf.tu-dresden.de> References: <4B44AB80.5070304@os.inf.tu-dresden.de> <57BC09A2-08C5-43B0-B255-E33EA8ABE4AE@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NU3AF-0004Gm-Lm for emacs-orgmode@gnu.org; Sun, 10 Jan 2010 14:09:27 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NU3AC-0004FY-0T for emacs-orgmode@gnu.org; Sun, 10 Jan 2010 14:09:27 -0500 Received: from [199.232.76.173] (port=46354 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NU3AB-0004FS-NG for emacs-orgmode@gnu.org; Sun, 10 Jan 2010 14:09:23 -0500 Received: from os.inf.tu-dresden.de ([141.76.48.99]:58445) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NU3A8-000354-4E for emacs-orgmode@gnu.org; Sun, 10 Jan 2010 14:09:23 -0500 In-Reply-To: <57BC09A2-08C5-43B0-B255-E33EA8ABE4AE@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org Hi Carsten and Matthew, On 08.01.2010 18:24, Carsten Dominik wrote: > On Jan 6, 2010, at 4:25 PM, Martin Pohlack wrote: >> I just tried this out (only for headlines up to now) and it seems to >> work great. >> >> Are there any plans to integrate something like this into upstream? >> Especially the wrapping of headlines would enable extensive tag usage. > > I have been thinking about that, but not arrived at a conclusion. One > thing is the interaction with org-indent-mode. That mode already does > the wrapping for headlines correctly by adding `wrap-prefix', and it > will look really good if you set the variable word-wrap to t. Ah, I wasn't aware of that. I think the documentation to org-indent doesn't mention wrapping (14.6 A cleaner outline view). How about something like this: org-indent-mode also sets the wrap-prefix property, such that visual-line-mode (or purely setting word-wrap) wraps long lines (including headlines) correctly indented. > However, the showstoppers are the following: > > 1. I cannot bring myself to turn off truncate-lines, because it > messes up tables and code examples badly, and these are major > components of my work. Right, I haven't used it to much up to now. > I have actually put in a feature > request into Emacs for a property `truncate-line', to be > able to control this line by line. I got positive feedback, > but I don't know when any of the developers finds time > to implement it - I cannot do that myself. Awesome. This sounds like the way to go. > 2. Visual-line-mode is also a no go for me, I use keyboard > macros a lot and need to be able to rely on the fact that > [down] move the cursor into the next physical line. I sometimes like visual navigation in wrapped text and my own motion commands. I have two commands to move visually explicitly (bound to s-down, s-up (super-...)). (defun next-visual-line (&optional arg try-vscroll) (interactive "^p\np") (let ((line-move-visual t)) (with-no-warnings (next-line arg try-vscroll)))) (defun previous-visual-line (&optional arg try-vscroll) (interactive "^p\np") (let ((line-move-visual t)) (with-no-warnings (previous-line arg try-vscroll)))) > So I am not sure how to handle this. We could turn Matthews > code into a module that users can turn on if they wish. I'm using Matthew's module right now for two reasons. * I had some trouble configuring org-indent-mode to only handle line-wrapping for headlines, i.e., it shall only set wrap-prefix and do nothing else. It always wanted to indent my headlines and body texts additionally. Is this possible? * Also, emacs segfaulted deterministically after globally collapsing all trees with org-indent-mode active. I have to look into this ... Cheers, Martin