" This file creates some aliases and maps that make elvis work more like vim " Some variations of the :map and :unmap commands alias nmap map command alias nm map command alias vmap map select alias vm map select alias omap map motion alias om map motion alias imap map input alias im map input alias cmap map history alias cm map history alias noremap map!? noremap alias nore map!? noremap alias nnoremap map noremap command alias nn map noremap command alias vnoremap map noremap select alias vn map noremap select alias inoremap map noremap input alias ino map noremap input alias cnoremap map noremap history alias cno map noremap history alias nunmap unmap command alias nun unmap command alias vunmap unmap select alias vu unmap select alias ounmap unmap motion alias ou unmap motion alias iunmap unmap input alias iu unmap unput alias cunmap unmap history alias cu unmap history " Some redundant commands that work on visibly selected text map noremap select r g= map noremap select x d map noremap select U noremap gU map noremap select u noremap gu map noremap select ~ noremap g~ map noremap select J :j map noremap select  y:ta  map noremap select o g% map noremap select O g "map noremap select R S ... except that "vS" isn't implemented yet " Some 'g' commands that aren't built in to elvis map g# yiw??w map g* yiw//w map gf :eval find (current(/[^[:space:]<>"]*/)) map gm :eval normal (columns/2+1;char(124)) map go  " Some '^W" commands that aren't built in to elvis map f :eval sfind (current(/[^[:space:]<>"]*/)) " A few miscellaneous vim commands alias find { " Locate a file in 'includepath', and then edit it local elvispath f if "!*" == "" then error cursor not on file name let elvispath=includepath let f=elvispath("!*") if f == "" then error "!*" not found in includepath else e!? (f) } alias fin find alias sfind { " Locate a file in 'includepath', and then split it local elvispath f if "!*" == "" then error cursor not on file name let elvispath=includepath let f=elvispath("!*") if f == "" then error "!*" not found in includepath else sp (f) } alias sf sfind alias sview split +"se ro" alias sv sview alias update { " Write a file, but only if modified if modified then !%write!? !* } alias up !%update!?