git clone 'git://github.com/hbin/smart-shift.git'
Smart Shift is a minor mode for conveniently shift the line/region to the left/right by the current major mode indentation width or shift line/region backwardly/forwardly by lines.
Once you have setup Melpa you can use
package-install command to install. The package name is
(add-to-list 'load-path "/path/to/smart-shift") (require 'smart-shift) (global-smart-shift-mode 1)
Smart Shift will infer the indentation level of current major mode, if none of major modes listed below match, use the
tab-width as default.
It can also be set to a number explictly.
(setq smart-shift-indentation-level 2)
Or, for some major mode we haven't support, add following snippets to your config file. Test it and send a PR.
'(major-mode-or-derived-mode . customize-base-offset))))
Command | Keybinding | Description
C-C <left> | Shift the line or region ARG times to the left.
C-C <right> | Shift the line or region ARG times to the right.
C-C <up> | Shift the line or region ARG lines backwardly.
C-C <down> | Shift the line or region ARG lines forwardly.
smart-shift-<arrow> the first time, you can simply hit the
<arrow> key to continuously shift, respectively.
If you use the key-chord like me. I strongly recommend you add the following snippets:
(key-chord-define-global "<<" 'smart-shift-left) (key-chord-define-global ">>" 'smart-shift-right)
Forks and pull requests are welcome!