×

vi 命令手册

vi/vim 命令大全

vim 命令手册

Vim 关于Vim 安装Vim 用法Vim 配置vim 配置.vimrc方案vim 配置.vimrc方案1vim 配置.vimrc方案2Vim 文件合并Vim 技巧和建议Vim 插件Vim 参阅

Vimscript 编程参考

Vimscript 前言Vimscript 鸣谢Vimscript 预备知识Vimscript 打印信息Vimscript 设置选项Vimscript 基本映射Vimscript 模式映射Vimscript 精确映射Vimscript LeadersVimscript 编辑你的Vimrc文件Vimscript AbbreviationsVimscript 更多的MappingsVimscript 锻炼你的手指本地缓冲区的设置和映射Vimscript 自动命令Vimscript 本地缓冲区缩写Vimscript 自动命令组Operator-Pending 映射Operator-Pending 更多映射Vimscript 状态条Vimscript 负责任的编码Vimscript 变量Vimscript 变量作用域Vimscript 条件语句Vimscript 比较Vimscript 函数Vimscript 函数参数Vimscript 数字Vimscript 字符串Vimscript 字符串函数Vimscript Execute命令Vimscript Normal命令Vimscript 执行normal!Vimscript 基本的正则表达式Grep 运算符Operator 第1部分Grep 运算符Operator 第2部分Grep 运算符Operator 第3部分Vimscript 列表Vimscript 循环Vimscript 字典Vimscript 切换Vimscript 函数式编程Vimscript 路径Vimscript 创建一个完整的插件Vimscript 基本插件配置方式用Pathogen配置插件Vimscript 检测文件类型Vimscript 基本语法高亮Vimscript 高级语法高亮Vimscript 基本折叠Vimscript 高级折叠Vimscript 段移动原理Vimscript Potion段移动Vimscript 外部命令Vimscript 自动加载Vimscript 文档Vimscript 发布Vimscript 还剩下什么?

Vimscript 数字


现在是时候开始深入讨论你能用到的变量类型。首先从数值类型开始吧。

Vimscript有两种数值类型:Number和Float。一个Number是32位带符号整数。一个Float是浮点数。

数字(Number)形式

你可以通过一些不同的方式设置Number的格式。执行下面的命令:

:echom 100

没什么好惊讶的 -- Vim显示100。现在执行下面的命令:

:echom 0xff

这次Vim显示255。你可以加0x0X前缀来指定16进制的数字。现在执行下面的命令:

:echom 010

你也可以加0前缀来使用八进制。不过由于容易混淆,用的时候要保持头脑清醒。尝试执行下面的命令:

:echom 017
:echom 019

第一个命令中,Vim将打印出15,因为17在八进制中等于十进制的15。 在第二个命令中,Vim把数字的进制当作十进制,即使它以0开头,因为它不可能是一个八进制数字。

因为Vim会一声不吭地处理掉这样的错误,我建议尽量避免使用八进制数字。

浮点数(Float)格式

Float也可以用许多方式进行定制。执行下面的命令:

:echo 100.1

注意这里我们使用了echo而不是更常用的echom。待会我会解释为什么这样做(译注:当然你现在可以试试看)。

Vim如愿输出了100.1。你也可以指定指数形式。执行下面命令:

:echo 5.45e+3

Vim输出5450.0。也可以用负的指数。执行下面命令:

:echo 15.45e-2

Vim输出0.1545。在10的幂前面的+-是可选的。如果没有,就默认为正数。执行下面的命令:

:echo 15.3e9

Vim将输出等价的1.53e10。小数点和小数点后面的数字是_必须要有_的。执行下面命令并看它为何出错:

:echo 5e10

强制转换

当你在运算,比较或其他操作中混合使用Number和Float类型,Vim将把Number转换成Float, 以Float格式作为结果。执行下面命令:

:echo 2 * 2.0

Vim输出4.0

除法

在两个Number之间的除法中,余数会被丢弃。执行下面命令:

:echo 3 / 2

Vim输出1。如果你希望Vim使用浮点数除法,至少有一个数字必须是Float, 这样剩下的数字也会被转换成浮点数。执行下面命令:

:echo 3 / 2.0

Vim输出1.53被强制转换成一个浮点数,然后运行了普通的浮点数除法。

练习

阅读:help Float。什么情况下在Vimscript中不能用浮点数?

阅读:help floating-point-precision。这意味着你在写一个处理浮点数的Vim插件时需要注意什么?


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)