Skip to content

hdima/python-syntax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python syntax highlighting script for Vim

About

Enhanced version of the original Python syntax highlighting script. Based on python.vim from Vim 6.1 distribution by Neil Schemenauer (nas at python dot ca). Check also python.vim page on vim.org.

Please use the following channels for reporting bugs, offering suggestions or feedback:

Features

Changes from the original python.vim are:

  • Added support for Python 3 syntax highlighting
  • Added :Python2Syntax and :Python3Syntax commands which allow to switch between Python 2 and Python 3 syntaxes respectively without reloads/restarts
  • Updated strings highlighting
  • Enhanced special symbols highlighting inside strings
  • Enhanced highlighting of numeric constants
  • Added optional highlighting for %-formatting inside strings
  • Added highlighting for magic comments: source code encoding and #! (executable) strings
  • Added highlighting for new exceptions and builtins
  • Added highlighting for doctests
  • Added highlighting for new @decorator syntax introduced in Python 2.4a2
  • Added highlighting for the following errors:
    • invalid symbols in source file
    • mixing spaces and tabs
    • invalid numeric constants
    • invalid %-formatting inside strings
    • invalid variable names
    • trailing spaces (triggered by the python_highlight_space_errors option)

Some of these features was later backported into the original python.vim.

How to install

The easiest installation method is to place syntax/python.vim script into your ~/.vim/syntax/ directory.

You can also use Pathogen or Vundle plugin managers in which case you can install the whole python.vim repository into the corresponding plugins directory.

Script options

There are two commands to enable or disable an option:

:let OPTION_NAME = 1

Enable option

:let OPTION_NAME = 0

Disable option

For example to enable all syntax highlighting features you can place the following command in your ~/.vimrc script:

let python_highlight_all = 1

Option and commands to select Python version

python_version_2

Enable highlighting for Python 2 (Python 3 highlighting is enabled by default). Also can be set as a local to buffer b:python_version_2 variable.

The following local to buffer commands can be used to switch between two highlighting modes:

:Python2Syntax

Switch to Python 2 highlighting mode

:Python3Syntax

Switch to Python 3 highlighting mode

Options used by the script

python_highlight_builtins

Highlight builtin functions and objects

python_highlight_builtin_objs

Highlight builtin objects only

python_highlight_builtin_funcs

Highlight builtin functions only

python_highlight_exceptions

Highlight standard exceptions

python_highlight_string_formatting

Highlight % string formatting

python_highlight_string_format

Highlight syntax of str.format syntax

python_highlight_string_templates

Highlight syntax of string.Template

python_highlight_indent_errors

Highlight indentation errors

python_highlight_space_errors

Highlight trailing spaces

python_highlight_doctests

Highlight doc-tests

python_print_as_function

Highlight print statement as function for Python 2

python_highlight_file_headers_as_comments

Highlight shebang and coding headers as comments

python_highlight_all

Enable all the options above. NOTE: This option don't override any previously set options

python_slow_sync

Can be set to 0 for slow machines

Contributors

List of the contributors in alphabetical order: