autoload/splicelib/util/keys.py @ 8e1c1dc358de

Merge pull request #21 from killphi/fix_spliceinit_crash

Fixes several crash issues with the latest VIm versions
author Steve Losh <steve@stevelosh.com>
date Tue, 05 Nov 2013 08:29:36 -0800
parents e73227e8f1f9
children 136a9256bec2
from __future__ import with_statement
import vim
from bufferlib import buffers
from ..settings import setting


def bind(key, to, options='', mode=None, leader=None):
    if not leader:
        leader = setting('prefix', '-')

    vim.command('nnoremap %s %s%s %s' % (options, leader, key, to))

def unbind(key, options='', leader=None):
    if not leader:
        leader = setting('prefix', '-')

    vim.command('unmap %s %s%s' % (options, leader, key))

def bind_for_all(key, to, options='', mode=None, leader=None):
    if not leader:
        leader = setting('prefix', '-')

    with buffers.remain():
        for b in buffers.all:
            b.open()
            bind(key, to, options, mode, leader)

def unbind_for_all(key, options='', leader=None):
    if not leader:
        leader = setting('prefix', '-')

    with buffers.remain():
        for b in buffers.all:
            b.open()
            unbind(key, options, leader)