vim 配置文件语法

原创 2014年03月22日 09:01:26

摘要:在进行vim配置,也就是编写vimrc文件的过程中,熟悉vim配置文件的语法是非常关键的,本文主要讲解vimrc的相关语法,为以后按照需要配置vimrc做准备。

1. 注释

写程序之前,第一件事情不是了解语法,而是知道如何写注释。
vimrc脚本的注释是使用引号(")作行注释。

2. 变量

(1) 标量变量
可以是数字或字符串,基本与perl相同。
命名方式为:作用域:变量名,常用的有如下几种:
b:name —— 只对当前buffer有效的变量
w:name —— 只对当前窗口有效的变量
g:name —— 全局变量
v:name —— vim预定义变量
a:name —— 函数的参变量
注意:引用标量变量的时候请包含作用域和冒号

(2) 一类有特殊含义的变量
命名方式:Fun Character(这个词请参看Programming Perl)加上变量名
共有三类:
$NAME —— 环境变量(一般变量名都是大写)
&name —— 选项(vim处理某些事情的时候的默认设置)
@r —— register(寄存器,不是汇编的EAX,EBX,看第2部分vim tips)
常见环境变量例子:$VIMRUNTIME —— vim运行路径
常见选项例子:&ic —— ignorecase
注:使用set命令可以改变选项设置,例如:
:set ignorecase
使用一个set命令可以看到当前所有的选项及其设置。

(3) 变量赋值
:let 变量名=值
注意:最前面的冒号不仅是为了表示这是一个冒号命令,而且是必须的。

释放变量::unlet! 变量名

(4) 运算符(和perl基本一样)
数学运算:+ - * / % .
逻辑运算:== != > >= < <= ?:
正则匹配运算符=~ !~

3. 控制结构

(1) if 条件
语句块
elseif 条件
语句块
else
语句块
endif
注意:条件表达式不需要小括号,语句块不需要大括号

(2) while 条件
语句块
[break/continue]
endwhile

4. 函数:

定义:
function 函数名(参数)
函数体
endfunc

调用:
在脚本语句中使用 call 函数名(参数)
在vim命令中使用 :call 函数名(参数)

注:在函数体中使用参数需要在参数变量名称前加上a:,例如参数名为
keyword,
则函数体中使用a:keyword来引用

注:常用系统函数 参见【附】。

5. 执行命令,键盘绑定,命令行命令和自动命令

(1) 执行命令
exec "命令" —— 用于在vim脚本中执行一系列vim命令
:!外部命令 —— 这是一个vim命令行命令,功能是调用外部程序
(2) 键盘绑定 :help map-overview
vim最大的特点在于可以把所有的操作能够用一个命令字符串表达出来,
因此这带来了编写脚本的最大的便利。键盘绑定就是一个例子,这个功能允许
把一个命令字符串绑定到一个按键/按键组合。

一般格式:映射命令 按键组合 命令组合
例子:nmap c ^i#<Esc>j
解释:映射normal模式下的按键c为:^i#<Esc>j,就是在该行开头加上#号
,然后下移一行

常用映射命令:
map :全模式映射
nmap :normal模式映射
vmap :visual模式映射
imap :insert模式映射

(3) 命令行命令
vim支持在启动的时候使用-c开关执行命令字符串,例如:
$ cat n
#!/bin/sh
vim -c "set filetype=$PERL" -c "s.$.#!/usr/bin/$PERL -w"r"r." -c
":nohlsearch" $1
设置文件类型 写入#!/usr/bin/perl -w
取消匹配加亮

$ n myperlfile


(4) 自动命令
一般格式:autocmd 事件 文件类型 命令
例子:au BufNewFile,BufRead *.pl setf perl
解释:当事件 BufNewFile 和 BufRead 发生在 *.pl 文件上的时候,

执行命令:setf perl


6.其他

runtime/runtimepath

:ru[ntime][!] {file} ..
                        Read Ex commands from {file} in each directory given
                        by 'runtimepath'.  There is no error for non-existing
                        files.  Example: >
                                :runtime syntax/c.vim

解析:无论我们在vimrc在看到别人使用了哪个命令,只需要输入:cmd,就能找到这个命令的帮助说明


vim的更多进阶使用,请移步:http://easwy.com/blog/archives/advanced-vim-skills-catalog/

<leader> 的作用

85"Set mapleader
 86 let mapleader = ","
 87 let g:mapleader = ","
 88
 89 "Fast saving
 90 nmap <leader>w :w!<cr>
 91 nmap <leader>f :find<cr>

<leader> 表示命令模式下的 "引导键" , 设置之后 连续按下 “,w” 就映射到了保存,并且不用按空格
更多配置方面的参考:http://www.douban.com/note/174206360/

7.常见键盘键的表述

:help keycodes
在进行键盘映射的时候,如果你想知道<cr> <up> <lt>等等分别表示什么意思,输入:help keycodes 即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【 Vim 配置详解 】强大的vim配置文件,让编程更随意

花了很长时间整理的,感觉用起来很方便,共享一下。 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试 ...

vim 命令(全)

本章提供足够的信息使你用够使用 Vim 来做基本的编辑。这里提供的方法不一定是高效 快捷的。但起码是有效的。花些时间去练习这些命令,这是后面的知识的基础。 |02.1|  第一次运行 Vim |02....

vim设置(非常全面),即.vimrc文件的配置

1.在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。 在启动vim时,当...

vim插件管理神器:pathogen

1.问题剖析 可扩展性是优秀软件的重要特点之一,而 Vim 从 Unix 系统一路传成下来更是将可扩展性发挥到了极致。 相信多数 Vim 的经验用户除了自己经精心维护的 .vimrc 配置文件之外更...

Dockerfile 指令详解

Docker创建镜像的方式有两种: 一种通过commit的方式:把做了一系列操作的容器关闭,然后利用docker的commit指令:dockercommit 容器ID 镜像名:tag。然后docker...

5分钟了解swagger

随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成...

vim 高级使用技巧第一篇

前言:逃离windows有很长时间了,特别是当今android盛行的时代,我们没有理由不选择ubuntu作为编译开发android之首选。其实操作系统只是我们使用的一个工具, windows也好li...

实践中学习vim之vim配置文件、插件文件加载路径

0 引言 理解vim的启动过程对于增强使用vim的信心非常重要,本文所有的信息均来自vim自身提供的参考手册和作者实际操作实践。VIM REFERENCE MANUAL的Starting Vim这节详...

vim配置及插件安装管理(超级详细)

1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来...

VIM语法高亮、VIM代码补全、VIM结构化视图功能的配置实现(1)

=========================================== 为了更加方便的学习和研究一个开源c++项目(当然linux环境下),特地花了一两周的时间研究vim及其插件的配置...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)