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 14K
  • Win 7K
  • Mac 4K
  • Linux 3K
Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6
Windows 0 1 1 3 2 3 0 1 3 1 3 0 1 0 2 0 2 1 0 2 0 1 1 0 0 0 0 0 1 1 2 1 0 0 1 1 4 0 0 0 1 2 1 0 1 1
Mac 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 2 0 1 2 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 2 0 1 1
Linux 2 1 1 1 3 2 0 5 0 0 1 1 1 1 0 0 0 0 2 0 0 0 0 2 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 2 2

Readme

Source
raw.​githubusercontent.​com

VimModelines for Sublime Text 3

Build Status 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