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

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