Homepage: http://www.emacswiki.org/emacs/VimMode
Author: Frank Fischer
Updated:
A VIM-emulation for Emacs
A simple VIM-mode for Emacs This project is in an early development state and many function have not been implemented yet. If you want to try, open this file in your Emacs and evaluate the buffer. The mode can be activated by 'M-x vim-mode'. Don't forget to disable Viper if you want to try vim-mode. The project is divided into many files. Each file implements some almost-independent feature. If you want to learn how to implement new commands or motions, look at the files vim-commands.el and vim-motions.el. Here is a short description of the contents of each file: - vim.el: This file just sets up the mode and loads the other files. - vim-compat.el: Compatibility layer for different Emacsen. - vim-keymap.el: A few functions for defining keymaps for vim-mode. - vim-macs.el: This file contains the macros for defining motions and commands. - vim-defs.el: Global variables. - vim-core.el: Controlling of active modes and execution of motions and commands. - vim-modes.el: Each VIM-mode (normal-mode, insert-mode, ...) corresponds to an Emacs-minor-mode. This file contains some macros and functions to define new vim-modes in this context. - vim-insert-mode.el: The implementation of insert-mode. - vim-normal-mode.el: The implementation of normal-mode. - vim-visual-mode.el: The implementation of visual-mode. - vim-ex.el: The implementation of ex-mode. - vim-commands.el: The implementations of commands like 'delete', 'yank', 'paste' and so on. - vim-motions.el: The implementations of motion commands like 'h', 'i', 'j', 'k', 'f', 'w', ... - vim-scroll.el: The implementation of scrolling commands like 'zz', 'Ctrl-F'. - vim-window-el: The implementation of window commands like 'C-w s'. - vim-ex-commands.el: The implementations of commands like ':edit' or ':buffer'. - vim-search.el: The implementation of '/' and ':substitute'. - vim-undo.el: Some variables and functions for undo/redo. - vim-maps.el: The definition of the basic keymaps. This file connects the keymaps with the commands and motions defined in vim-commands.el and vim-motions.el.