ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Move​Text

Select text and drag it around, or setup a text tunnel to move code from one location to another.

Details

Installs

  • Total 6K
  • Win 3K
  • OS X 2K
  • Linux 1K
Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7 Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12
Windows 0 0 0 0 0 1 1 0 0 0 1 1 3 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 2 0 2 0 0 0 0 2 0 0 0 0
OS X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 3 0
Linux 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0

Readme

Source
raw.​githubusercontent.​com

MoveText

Select text and move it around using the keyboard, or setup a text “tunnel” to move code from one location to another.

Installation

  1. Using Package Control, install “MoveText”

Or:

  1. Open the Sublime Text Packages folder

    • OS X: ~/Library/Application Support/Sublime Text 3/Packages/
    • Windows: %APPDATA%/Sublime Text 3/Packages/
    • Linux: ~/.Sublime Text 3/Packages/ or ~/.config/sublime-text-3/Packages
  2. clone this repo

  3. Install keymaps for the commands (see Example.sublime-keymap for my preferred keys)

Commands

move_text_left: Moves the selected text one character to the left

move_text_right: Moves the selected text one character to the right

move_text_up: Moves the selected text one line up

move_text_down: Moves the selected text one line down

When moving text up and down, funny things happen when the destination line doesn't have enough preceding characters. An attempt is made to keep the text on the same column, but the mechanism for this uses sublime.View.command_history, which doesn't update after every movement. It updates in between “Undo” events, so if you move the text in the opposite direction, or if you pause long enough for an “undo” to register, the text will move correctly. It looks like this:

1. one*dragme*  1. one          1. one       1. one
2. two          2. two*dragme*  2. two       2. two
3.              3.              3. *dragme*  3.
4. four         4. four         4. four      4. *dragme*four

But if you move the text up first, it will move correctly:

1. one          1. one*dragme*  1. one          1. one       1. one
2. two*dragme*  2. two          2. two*dragme*  2. two       2. two
3.              3.              3.              3. *dragme*  3.
4. four         4. four         4. four         4. four      4. fou*dragme*r