This is the official manual for the latest Org-mode release.
shift-selection-modeis 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.
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
(add-hook 'org-mode-hook 'turn-off-filladapt-mode)
"\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)))
;; 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)
org-sparse-tree. You need to find another key for this command, or override the key in
(define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)