home *** CD-ROM | disk | FTP | other *** search
- " 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!?
-