vim与emacs脚本编程对比
1、定义变量
vim:
let a = 123
emacs:
(setq a '123)
2、定义函数
vim:
function Fun() //如果不使用作用域限制,首字母需要大写
endfunction
emacs:
(defun fun ()
"message"
(interactive)
.....
)
3、执行函数
vim:
call function()
emacs:
(fun )
4、条件语句
vim:
if c
elseif b
else e
endif
while a
endwhile
emacs:
(if a
'thenfun
'elsefun)
(while (equal a b)
body...
(计数器))
(cond
(first ...)
(second ...))
5、自动执行
vim:
autocmd BuffRead *.cpp :call fun
emacs:
(add-hook 'c++-mode-hook '(lambda ()
(interactive)
.....))
6、引用其他文件
vim:
source name.vim
. name.vim
emacs:
(require 'name) ;;需要在文件末尾添加(provied 'name)
(load "name.el")
7、绑定快捷键
vim:
nmap <silent> <F8> :call fun()<CR>
imap <F9> :call fun()<CR>
vmap <F10> :call fun()<CR>
emacs:
(global-set-key [f8] 'fun)
(define-key c++-mode-map (kdb "C-\") 'fun)