Skip to content
Bruno Heridet edited this page Jul 20, 2017 · 17 revisions

How to make x select lines downward and X select lines upward.

more here

def -hidden -params 1 extend-line-down %{
  exec "<a-:>%arg{1}X"
}
def -hidden -params 1 extend-line-up %{
  exec "<a-:><a-;>%arg{1}K<a-x>"
}
map global normal x ":extend-line-down %val{count}<ret>"
map global normal X ":extend-line-up %val{count}<ret>"

How to make word keys discern camelCase or snake_case parts?

so when you want to select the word - you select it like textobject, more here

def -hidden select-prev-word-part %{
  exec <a-/>[A-Z][a-z]+|[A-Z]+|[a-z]+<ret>
}
def -hidden select-next-word-part %{
  exec /[A-Z][a-z]+|[A-Z]+|[a-z]+<ret>
}
def -hidden extend-prev-word-part %{
  exec <a-?>[A-Z][a-z]+|[A-Z]+|[a-z]+<ret>
}
def -hidden extend-next-word-part %{
  exec ?[A-Z][a-z]+|[A-Z]+|[a-z]+<ret>
}
map global normal w :select-next-word-part<ret>
map global normal W :extend-next-word-part<ret>
Clone this wiki locally