vimscript教程

来源:互联网 发布:淘宝宝贝收藏链接 编辑:程序博客网 时间:2024/06/15 09:51

参考自http://learnvimscriptthehardway.onefloweroneworld.com

1.打印信息
:echo "hello echo":echom "hello echom";
当想写复杂的vimscript时,需要打印一些信息以方便调试程序,:ehco命令会打印输出,但是一旦脚本运行完毕,那些输出信息就会消失。使用:echom打印的信息会保存下来,可以执行:messages命令再次查看那些信息。

注释
vimscprit脚本或者.vimrc文件中,用”字符添加注释,但有时候这种方法并不有效。

2.设置选项
设置选项可以改变vim外观,主要有两种选项:布尔选项和键值选项。
:set number显示行号
:set nonumber不显示行号
所有的布尔选项都是这种配置方法,前面加no。

:set numberwidth=4设置行号的列宽

3.基本映射
:map - dd将字符-映射到dd命令上,也就是按下-的作用是删除光标所在整行。

特殊字符
:map <space> view高亮单词
:map <c-d> dd ctrl+d

基本映射不能单行注释。

4.模式映射
可以使用nmap,vmap,imap命令分别指定映射仅在normal,visual,insert模式有效。

insert模式
:imap <c-d> dd按ctrl+d仅仅插入了两个字符dd
:imap <c-d> <esc>dd这个可以删除行,但是没有回到insert模式
:imap <c-d> <esc>ddi删除一行,并重新回到插入模式

5.精确映射
*map系列命令的一个缺点是存在递归的危险。如果一个插件映射了同一个按键为不同的行为,两者冲突,有一个映射就无效了。

非递归映射
*noremap系列,包括noremap, nnoremap, vnoremap, inoremap
任何时候都不要用*map系列,而是非递归的*noremap

6.Leader
:nnoremap -d dd -d一起按
:nnoremap -c dd0 -c一起按,删除一行并进入insert模式
这样可以定制很多命令

:let mapleader="-"设置leader键,也可以用,号啥的
然后当创建新的映射时,可以用<leader>前缀
:nnoremap <leader>d dd
为什么要用<leader>,因为方便更换。

7.编辑vimrc文件
:nnoremap <leader>ev :vsplit $MYVIMRC<cr> -ev分屏打开.vimrc文件

8.Abbreviations

阅读全文
0 0
原创粉丝点击