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

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