Merge pull request #518 from samdmarshall/key-unbinding

Key unbinding
This commit is contained in:
Zachary Yedidia
2017-01-04 13:56:34 -05:00
committed by GitHub
3 changed files with 24 additions and 4 deletions

View File

@@ -347,8 +347,19 @@ func BindKey(k, v string) {
if v == "ToggleHelp" {
helpBinding = k
}
if helpBinding == k && v != "ToggleHelp" {
helpBinding = ""
}
actionNames := strings.Split(v, ",")
if actionNames[0] == "UnbindKey" {
delete(bindings, key)
if len(actionNames) == 1 {
actionNames = make([]string, 0, 0)
} else {
actionNames = append(actionNames[:0], actionNames[1:]...)
}
}
actions := make([]func(*View, bool) bool, 0, len(actionNames))
for _, actionName := range actionNames {
actions = append(actions, findAction(actionName))

View File

@@ -36,9 +36,12 @@ func (sline *Statusline) Display() {
// Add the filetype
file += " " + sline.view.Buf.FileType()
rightText := helpBinding + " for help "
if sline.view.Type == vtHelp {
rightText = helpBinding + " to close help "
rightText := ""
if len(helpBinding) > 0 {
rightText = helpBinding + " for help "
if sline.view.Type == vtHelp {
rightText = helpBinding + " to close help "
}
}
statusLineStyle := defStyle.Reverse(true)

View File

@@ -115,6 +115,11 @@ and quit you can bind it like so:
}
```
# Unbinding keys
It is also possible to disable any of the default key bindings by use of the
`UnbindKey` action in the user's `bindings.json` file.
# Bindable actions and bindable keys
The list of default keybindings contains most of the possible actions and keys
@@ -196,6 +201,7 @@ HSplit
PreviousSplit
ToggleMacro
PlayMacro
UnbindKey
```
Here is the list of all possible keys you can bind: