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

Vim​Modelines

by Paul Chandler ST3

Sublime Text 3 plugin to parse and apply Vim modelines

Details

Installs

  • Total 3K
  • Win 1K
  • OS X 872
  • Linux 632
Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1 Aug 31 Aug 30 Aug 29 Aug 28 Aug 27 Aug 26 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
Windows 2 1 2 1 1 6 2 5 2 4 1 8 4 5 6 1 8 6 6 6 2 3 1 3 4 4 7 7 7 3 6 6 7 5 4 1 6 4 6 3 4 2 2 2 2 5
OS X 1 1 3 2 8 5 2 6 2 0 2 5 4 2 2 2 3 4 3 3 5 5 1 2 4 1 5 5 2 1 0 2 6 4 2 3 2 2 4 1 6 2 2 1 1 4
Linux 0 4 2 4 0 3 2 1 1 1 4 1 2 6 0 1 0 4 6 6 0 4 1 2 1 3 3 2 3 4 1 1 0 3 0 6 2 2 1 5 2 3 2 1 1 0

Readme

Source
raw.​githubusercontent.​com

VimModelines for Sublime Text 3

Build Status Build Status Codacy Badge Codacy Badge codecov packagecontrol.io Badge

Screenshot 2

VimModelines adds Vim modeline support into Sublime Text 3 for common settings. Modelines are Vim commands embedded into the comments in headers or footers. They are commonly used to set attributes specific to the file, like indentation or line endings to override the editor's default settings.

They are the Vi/Vim equivalent of Emacs modelines.

Their inclusion into files like Makefile, which must be tab delimited, or in projects with many contributors is common-ish. They are also a common mechanism to define the source encoding for Python 2.

This plugin, by default, will search for them on file load & save and apply them to the Sublime Text view.

The default settings file for this plugin, for example, uses tabs and has preference for a width of 2. This will override your default settings if apply_on_load is set to true.

Screenshot 1

Parsed Attributes

Attribute Description Mapping
autoindent, ai Automatic indentation auto_indent = True
noautoindent, noai Disable automatic indentation auto_indent = False
fileformat, ff Set line endings (dos, mac, unix) set_line_endings()
fileencoding, fenc Set file encoding (utf-8, …) set_encoding()
tabstop, ts # of columns for each tab character tab_size
shiftwidth, sw # of columns for indent operation ignored
softtab, st # of columns for tab key (space & tab) ignored
expandtab, et Tabs → Spaces translate_tabs_to_spaces = True
noexpandtab, noet Respect tab chars translate_tabs_to_spaces = False
number, nu Show line numbers line_numbers = True
nonumber, nonu Hide line numbers line_numbers = False
wrap Enable word wrap word_wrap = True
nowrap Disable word wrap word_wrap = False

Supported File Encodings

VimModelines will set the encoding as specified, but will not convert it. The following are the supported Sublime Text encodings and their mappings to Vim.

Vim Encoding Sublime Text Encoding
latin1 Western (Windows 1252)
koi8-r Cyrillic (KOI8-R)
koi8-u Cyrillic (KOI8-U)
macroman Western (Mac Roman)
iso-8859-1 Western (ISO 8859-1)
iso-8859-2 Central European (ISO 8859-2)
iso-8859-3 Western (ISO 8859-3)
iso-8859-4 Baltic (ISO 8859-4)
iso-8859-5 Cyrillic (ISO 8859-5)
iso-8859-6 Arabic (ISO 8859-6)
iso-8859-7 Greek (ISO 8859-7)
iso-8859-8 Hebrew (ISO 8859-8)
iso-8859-9 Turkish (ISO 8859-9)
iso-8859-10 Nordic (ISO 8859-10)
iso-8859-13 Estonian (ISO 8859-13)
iso-8859-14 Celtic (ISO 8859-14)
iso-8859-15 Western (ISO 8859-15)
iso-8859-16 Romanian (ISO 8859-16)
cp437 DOS (CP 437)
cp866 Cyrillic (Windows 866)
cp1250 Central European (Windows 1250)
cp1251 Cyrillic (Windows 1251)
cp1252 Western (Windows 1252)
cp1253 Greek (Windows 1253)
cp1254 Turkish (Windows 1254)
cp1255 Hebrew (Windows 1255)
cp1256 Arabic (Windows 1256)
cp1257 Baltic (Windows 1257)
cp1258 Vietnamese (Windows 1258)
utf-8 utf-8
ucs-2le utf-16 le
utf-16 utf-16 be
utf-16le utf-16 le

Requirements

Installation Instructions

Using Package Control

  1. Install Package Control
  2. Open the Command Palette (⌘+⇧+P on macOS or ⌃+⇧+P on Linux & Windows)
  3. Search for and select “Package Control: Install Package”
  4. Search for and install “VimModelines”

Manually

  1. cd into your “Packages” directory:
Platform
Linux ~/.config/sublime-text-3/Packages/
 macOS ~/Library/Application Support/Sublime Text 3/Packages/
Windows %APPDATA%\Sublime Text 3\Packages\
  1. Clone the repository:
git clone https://github.com/pestilence669/VimModelines.git