码迷,mamicode.com
首页 > 系统相关 > 详细

VIMSCRIPT学习

时间:2016-05-13 02:00:58      阅读:666      评论:0      收藏:0      [点我收藏+]

标签:

1.vimscript

         vim是一个功能相当强大的编辑器。vimscript一门用于定制Vim的脚本语言vimscript其实就是 vim命令。例如vim中,保存一个文件使用命令:write(或者缩写 :w)并回车确认。在这里其实用:符号进入vim命令行模式,然后使用vimscriptwrite命令来保存文件

         因此,vimscript中的命令可以在vim的命令行模式中执行,也可以编写到文件(例如vimrc)中形成vim脚本文件,然后由vim去执行。其中vim的插件编写就采用的是第二种。

 

2.vimscript的注释

       vimscript脚本文件中,使用左双引号"来表示注释。

 

3.vimscript常用的命令

set number  "设置行号
set nonumer  "取消行号

3.vimscript中的键盘映射命令map

         vim中已经有了很多的默认的键盘快捷键。例如*#以及dd等等这些。然后我们可以使用map类的命令去设置一些自定义的键盘快捷键。map类的命令有好几个,如下(比如map命令可以设置Normal/Visual/Operator Pending三种模式下的键盘快捷键,而imap可以设置Insert模式的键盘快捷键):

技术分享

1)设置键盘映射

使用:map<要映射的键> <被映射的键>的语法来设置一个键盘映射。

A):map <F5> i{<Esc>ea}<Esc> #使用F5可以将光标所在的单词word加上花括号,其中i是进入insert模式,然后插入{,然后回到Normale表示光标移到单词word末尾,a进入Insert模式,然后插入},然后回到Normal模式。

B):map <F10><Esc>:tabnew<CR> #使用F10vim中打开一个新的标签页。

C):imap <c-d> <Esc>ddi  #Insert模式下,按下Ctrl+d会删除一行,删除一行后仍旧处在Insert模式下。

备注:其中<Esc>代表Esc退出键,<CR>代表回车键,<Space>代表空格键等等

2)查看vim设置了哪些键盘快捷键

       使用:map命令(不带任何参数)可以列出vim所有工作模式下的快捷键,输出结果中第一列表示的哪一个工作模式下的快捷键,如下表格:

技术分享

       同时使用:nmap/:vmap/:omap/:map!/:imap/:cmap命令(不带任何参数)可以查看对应vim工作模式下的快捷键。

3)取消键盘快捷键

       如果想要取消一个映射,可以使用命令:unmap <键盘快捷键>,例如取消绑定到F10的快捷键:unmap<F10>。值得注意的是,必须为:unmap命令指定一个参数。如果未指定任何参数,那么系统将会报错,而不会取消所有的键盘映射。

      同时,针对不同模式下的键盘映射,需要使用与其相对应的unmap命令。例如:使用:iunmap命令,取消插入模式下的键盘映射;而取消常规模式下的键盘映射,则需要使用:nunmap命令。

     如果想要取消所有映射,可以使用:mapclear命令。请注意,这个命令将会移除所有用户定义和系统默认的键盘映射。

4)关于键盘映射中leader介绍

我们是map来自定义一个键盘快捷键时,我们按下快捷键,就可以使用我们想要的功能。但是如果这个快捷键比如<Space>,如果我们确实要使用空格键输入一个空格怎么办。这个问题其实就是快捷键和按键的本来用途之间有冲突嘛。其实我们可以对我们的所有的快捷键设置一个前缀,比如-,。例如:map-<F10><Esc>:tabnew<CR>这样设置,那么我们就可以使用F10干它自己该干的事。这种自己在配置键盘映射时,认为加入前缀比较麻烦。vimscript中支持用leader来为快捷键设置一个前缀。配置方法如下:

:letmapleader = "-"   ''用let命令来是设置一个前缀
:nnoremap<leader>d dd ''当我们在vim中输入-d时就会删除一行了。

其他闲杂知识:

1)在vim中执行:help可以打开vim的帮助文档。执行:helpcommand可以查看任意的command的帮助文档,例如可以执行:help write看看write命令的帮助文档。

2)在vim中执行:echo$MYVIMRC可以获取vimrc文件的路径和位置

 

 

学习资料参考于:

http://learnvimscriptthehardway.onefloweroneworld.com/

http://feihu.me/blog/2014/intro-to-vim/

http://learnvimscriptthehardway.onefloweroneworld.com/chapters/06.html

http://yyq123.blogspot.com/2010/12/vim-map.html

VIMSCRIPT学习

标签:

原文地址:http://blog.csdn.net/wangjianno2/article/details/51343980

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!