Skip to content

Instantly share code, notes, and snippets.

@hovsater
Last active January 9, 2024 13:59
Show Gist options
  • Save hovsater/6791b476021cdce2461d005ec1484625 to your computer and use it in GitHub Desktop.
Save hovsater/6791b476021cdce2461d005ec1484625 to your computer and use it in GitHub Desktop.
alias w 'save'
alias wq 'save; quit'
alias q 'quit'
alias q! 'quit -f'
set statusline-left ' %i%S%f%s%m%s%r%s%M'
def-mode -u vi-normal
bind -T vi-normal j down
bind -T vi-normal k up
bind -T vi-normal h left
bind -T vi-normal l right
bind -T vi-normal : 'mode command'
bind -T vi-normal i 'mode vi-insert'
bind -T vi-normal ^ 'bol -s'
bind -T vi-normal 0 bol
bind -T vi-normal \$ eol
bind -T vi-normal c 'mode vi-normal-change'
bind -T vi-normal d 'mode vi-normal-delete'
bind -T vi-normal o 'new-line; mode vi-insert'
bind -T vi-normal O 'new-line -a; mode vi-insert'
bind -T vi-normal a 'right; mode vi-insert'
bind -T vi-normal A 'eol; mode vi-insert'
bind -T vi-normal w 'word-fwd'
bind -T vi-normal b 'word-bwd'
bind -T vi-normal C-w 'mode vi-normal-window'
bind -T vi-normal / 'mode search'
bind -T vi-normal n 'search -n'
bind -T vi-normal N 'search -p'
bind -T vi-normal g 'mode vi-normal-goto'
bind -T vi-normal C-d 'scroll-pgdown'
bind -T vi-normal C-u 'scroll-pgup'
bind -T vi-normal v 'select; mode vi-visual'
bind -T vi-normal V 'select -l; mode vi-visual-line'
bind -T vi-normal u undo
bind -T vi-normal U redo
bind -T vi-normal p paste
bind -T vi-normal P 'paste -a'
bind -T vi-normal J join
bind -T vi-normal Y copy
bind -T vi-normal D delete-eol
bind -T vi-normal q 'macro toggle'
bind -T vi-normal @ 'macro play'
bind -T vi-normal ] tag
bind -T vi-normal % match-bracket
def-mode -u vi-normal-change
bind -T vi-normal-change ^[ 'mode vi-normal'
bind -T vi-normal-change w 'delete-word; mode vi-insert'
bind -T vi-normal-change \$ 'delete-eol; mode vi-insert'
def-mode -u vi-normal-delete
bind -T vi-normal-delete ^[ 'mode vi-normal'
bind -T vi-normal-delete d 'delete-line; mode vi-normal'
bind -T vi-normal-delete \$ 'delete-eol; mode vi-normal'
bind -T vi-normal-delete w 'delete-word; mode vi-normal'
def-mode -u vi-normal-window
bind -T vi-normal-window ^[ 'mode vi-normal'
bind -T vi-normal-window v 'wsplit -h; mode vi-normal'
bind -T vi-normal-window s 'wsplit; mode vi-normal'
bind -T vi-normal-window c 'close -p; mode vi-normal'
bind -T vi-normal-window C 'wclose -p; mode vi-normal'
bind -T vi-normal-window C-n 'wnext; mode vi-normal'
bind -T vi-normal-window C-p 'wprev; mode vi-normal'
def-mode -u vi-normal-goto
bind -T vi-normal-goto ^[ 'mode vi-normal'
bind -T vi-normal-goto t 'next; mode vi-normal'
bind -T vi-normal-goto T 'prev; mode vi-normal'
def-mode vi-insert
bind -T vi-insert ^[ 'mode vi-normal'
bind -T vi-insert C-? erase
def-mode -u vi-visual
bind -T vi-visual ^[ 'unselect; mode vi-normal'
bind -T vi-visual j down
bind -T vi-visual k up
bind -T vi-visual h left
bind -T vi-visual l right
bind -T vi-visual G eof
bind -T vi-visual y 'copy; mode vi-normal'
bind -T vi-visual d 'erase; mode vi-normal'
bind -T vi-visual \$ eol
def-mode -u vi-visual-line
bind -T vi-visual-line ^[ 'unselect; mode vi-normal'
bind -T vi-visual-line j down
bind -T vi-visual-line k up
bind -T vi-visual-line h left
bind -T vi-visual-line l right
bind -T vi-visual-line G eof
bind -T vi-visual-line y 'copy; mode vi-normal'
bind -T vi-visual-line d 'erase; mode vi-normal'
# Personal bindings
bind -T vi-normal space 'mode vi-normal-leader'
def-mode -u vi-normal-leader
bind -T vi-normal-leader ^[ 'mode vi-normal'
bind -T vi-normal-leader f 'format; mode vi-normal'
bind -T vi-normal-leader p 'eval dte-find-file $FILE; mode vi-normal'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment