org: Conflicts

 
 15.10.2 Packages that lead to conflicts with Org mode
 -----------------------------------------------------
 
      In Emacs 23, ‘shift-selection-mode’ is on by default, meaning that
      cursor motions combined with the shift key should start or enlarge
      regions.  This conflicts with the use of ‘S-<cursor>’ commands in
      Org to change timestamps, TODO keywords, priorities, and item
      bullet types if the cursor is at such a location.  By default,
      ‘S-<cursor>’ commands outside special contexts don’t do anything,
      but you can customize the variable ‘org-support-shift-select’.  Org
      mode then tries to accommodate shift selection by (i) using it
      outside of the special contexts where special commands apply, and
      by (ii) extending an existing active region even if the cursor
      moves across a special context.
 
 ‘CUA.el’ by Kim. F. Storm
      Key bindings in Org conflict with the ‘S-<cursor>’ keys used by CUA
      mode (as well as ‘pc-select-mode’ and ‘s-region-mode’) to select
      and extend the region.  In fact, Emacs 23 has this built-in in the
      form of ‘shift-selection-mode’, see previous paragraph.  If you are
      using Emacs 23, you probably don’t want to use another package for
      this purpose.  However, if you prefer to leave these keys to a
      different package while working in Org mode, configure the variable
      ‘org-replace-disputed-keys’.  When set, Org will move the following
      key bindings in Org files, and in the agenda buffer (but not during
      date selection).
 
           S-UP      ⇒  M-p             S-DOWN     ⇒  M-n
           S-LEFT    ⇒  M--             S-RIGHT    ⇒  M-+
           C-S-LEFT  ⇒  M-S--           C-S-RIGHT  ⇒  M-S-+
 
      Yes, these are unfortunately more difficult to remember.  If you
      want to have other replacement keys, look at the variable
      ‘org-disputed-keys’.
 
 ‘ecomplete.el’ by Lars Magne Ingebrigtsen <larsi@gnus.org>
 
      Ecomplete provides “electric” address completion in address header
      lines in message buffers.  Sadly Orgtbl mode cuts ecompletes power
      supply: No completion happens when Orgtbl mode is enabled in
      message buffers while entering text in address header lines.  If
      one wants to use ecomplete one should _not_ follow the advice to
      automagically turn on Orgtbl mode in message buffers (see See
      Orgtbl mode), but instead—after filling in the message
      headers—turn on Orgtbl mode manually when needed in the messages
      body.
 
 ‘filladapt.el’ by Kyle Jones
 
      Org mode tries to do the right thing when filling paragraphs, list
      items and other elements.  Many users reported they had problems
      using both ‘filladapt.el’ and Org mode, so a safe thing to do is to
      disable it like this:
 
           (add-hook 'org-mode-hook 'turn-off-filladapt-mode)
 
 ‘yasnippet.el’
      The way Org mode binds the <TAB> key (binding to ‘[tab]’ instead of
      ‘"\t"’) overrules YASnippet’s access to this key.  The following
      code fixed this problem:
 
           (add-hook 'org-mode-hook
                     (lambda ()
                       (org-set-local 'yas/trigger-key [tab])
                       (define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
 
      The latest version of yasnippet doesn’t play well with Org mode.
      If the above code does not fix the conflict, start by defining the
      following function:
 
           (defun yas/org-very-safe-expand ()
             (let ((yas/fallback-behavior 'return-nil)) (yas/expand)))
 
      Then, tell Org mode what to do with the new function:
 
           (add-hook 'org-mode-hook
                     (lambda ()
                       (make-variable-buffer-local 'yas/trigger-key)
                       (setq yas/trigger-key [tab])
                       (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand)
                       (define-key yas/keymap [tab] 'yas/next-field)))
 
 ‘windmove.el’ by Hovav Shacham
      This package also uses the ‘S-<cursor>’ keys, so everything written
      in the paragraph above about CUA mode also applies here.  If you
      want make the windmove function active in locations where Org mode
      does not have special functionality on ‘S-<cursor>’, add this to
      your configuration:
 
           ;; Make windmove work in org-mode:
           (add-hook 'org-shiftup-final-hook 'windmove-up)
           (add-hook 'org-shiftleft-final-hook 'windmove-left)
           (add-hook 'org-shiftdown-final-hook 'windmove-down)
           (add-hook 'org-shiftright-final-hook 'windmove-right)
 
 ‘viper.el’ by Michael Kifer
      Viper uses ‘C-c /’ and therefore makes this key not access the
      corresponding Org mode command ‘org-sparse-tree’.  You need to find
      another key for this command, or override the key in
      ‘viper-vi-global-user-map’ with
 
           (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)