ColumnSort is a plugin package for Sublime Text version 3 which provides a simple means of sorting tab-separated text by column.


  • ColumnSort allows to either specify the column (field) separation character, or let ColumnSort try to auto-detect the separator via the settings.
  • Either ascending or descending sorting is available via the settings.


  1. 1.
    Install the package either
    • by copyping the package to Sublime’s package folder using the menu entry Browse Packages…, or
    • by using the very convenient Package Control plugin and choosing the Install Package command from the command palette.
  2. 2.
    Open a file with column-separated content, or produce or paste suchlike text in a buffer.
  3. 3.
    Select the lines you want to include to be sorted.
  4. 4.
    Press Cmd Ctrl X on the Mac, Ctrl Meta X on Linux or Ctrl Alt X on Windows. This will produce a popup window which displays the content of the first row as separate entries to choose from. The idea behind this is that often the first row contains header descriptions which makes identifying the data in the columns much easier.
  5. 5.
    Select an entry in the popup window with the up and down arrow keys and press Return or Enter, or click on an entry with the mouse.
  6. 6.
    The selected text will be replaced with the sorted text.


The settings file currently has the following options to tinkle with:

columnsort_field_separator (default: "auto")

Field separation character, or "auto" if ColumnSort should try to detect columns separated by one of the following characters:
  • Tabulator (\t)
  • Comma (,)
  • Semicolon (;)
  • Colon (:)
  • Vertical Bar (|)
  • Forward Slash (/)
  • Hash (#)
NOTE 1: The order of the field separation characters listed here is also defining their priority in which they will be detected and processed. As a consequence, a file which contains more than one field separation character will be split into columns by the first occurrence of those characters in top to bottom order.
NOTE 2: Currently „string escaping“ using single or double quotes is not supported by the splitting method used. It is therefore highly recommended to stick with tab-separation for a hasslefree and reliable operation.

columnsort_skip_header (default: true)

ColumnSort cannot predict if the selected text contains a header line or not. Set this property to either true or false to indicate if you want to force a default.
If the property is set to true the first row of the selection will be only used for column heading display purposes and left alone during sorting which will then begin with the second line of the selection.

columnsort_sort_direction (default: "ascending")

The sorting can be defined to be "ascending" or "descending" by default.
Last modified 3yr ago