当前位置: 首页 > news >正文

芜湖网络微信小程序排名关键词优化

芜湖网络,微信小程序排名关键词优化,东莞松山湖职业技术学院,app怎么制作多少钱VimScript 五分钟入门#xff08;翻译#xff09; 转自#xff1a;https://zhuanlan.zhihu.com/p/37352209 译注#xff1a;折腾 Vim 当然要能看懂和改写相关脚本#xff0c;而中文资料匮乏#xff0c;缺一个提纲挈领的教程。本文翻译自 Andrew Scala 的 《Five Minute V…VimScript 五分钟入门翻译 转自https://zhuanlan.zhihu.com/p/37352209 译注折腾 Vim 当然要能看懂和改写相关脚本而中文资料匮乏缺一个提纲挈领的教程。本文翻译自 Andrew Scala 的 《Five Minute Vimscript》立足于让你用最短的时间掌握 VimScript 的基础和要点你可以把它看成一份语言速查表。 Vim有着丰富的内建文档系统使用 :h 关键词 就可以阅读如果你想在方便的尝试各种 vimscript 可通过 normal 模式下使用 gQ 命令进入 VimScript 的交互式环境调试命令。 注意下面的例子中会包含一些形如 符号 的符号意味着正式使用时应该被完全替换成真实的东西包括左右两边的尖括号。而单独的 和 在 VimScript 中被用作比较符号。 变量 let 命令用来对变量进行初始化或者赋值。unlet 命令用来删除一个变量。unlet! 命令同样可以用来删除变量但是会忽略诸如变量不存在的错误提示。 默认情况下如果一个变量在函数体以外初始化的那么它的作用域是全局变量而如果它是在函数体以内初始化的那它的作用于是局部变量。同时你可以通过变量名称前加冒号前缀明确的指明变量的作用域 g:var - 全局 a:var - 函数参数 l:var - 函数局部变量 b:var - buffer 局部变量 w:var - window 局部变量 t:var - tab 局部变量 s:var - 当前脚本内可见的局部变量 v:var - Vim 预定义的内部变量你可以通过 $name 的模式读取或者改写环境变量同时可以用 option 的方式来读写 vim 内部设置的值。 数据类型 Number32 位有符号整数 -123 0x10 0177Float: 浮点数需要编译 Vim 的时候有 float 特性支持 123.456 1.15e-6 -1.1e3String: NULL 结尾的 8位无符号字符串 ab\txx\-- x-za,cFuncref: 函数引用函数引用类型的变量名必须以大写字母开头 :let Myfunc function(strlen) :echo Myfunc(foobar) Call strlen on foobar. 6List: 有序列表 :let mylist [1, 2, [a, b]] :echo mylist[0] 1 :echo mylist[2][0] a :echo mylist[-2] 2 :echo mylist[999] E684: list index out of range: 999 :echo get(mylist, 999, THERE IS NO 1000th ELEMENT) THERE IS NO 1000th ELEMENTDictionary: 无序的 Key/Value 容器 :let mydict {blue: #0000ff, foo: {999: baz}} :echo mydict[blue] #0000ff :echo mydict.foo {999: baz} :echo mydict.foo.999 baz :let mydict.blue BLUE :echo mydict.blue BLUE没有布尔类型整数 0 被当作假其他被当作真。字符串在比较真假前会被转换成整数大部分字符串都会被转化为 0除非以非零开头的字符串才会转化成非零。 译注可以调用 type(varname) 来取得变量的类型最新版 Vim 8.1 中已经包含 Boolean 类型并且有 v:true, v:false 两个值 VimScript 的变量属于动态弱类型。 :echo 1 . foo 1foo :echo 1 1 2:function! TrueFalse(arg) : return a:arg? true : false :endfunction:echo TrueFalse(foobar) false :echo TrueFalse(1000) true :echo TrueFalse(x1000) false :echo TrueFalse(1000x) true :echo TrueFalse(0) false字符串比较 string string: 字符串相等string ! string: 字符串不等string ~ pattern: 匹配 patternstring !~ pattern: 不匹配 patternoperator#: 匹配大小写operator?: 不匹配大小写 注意设置选项 ignorecase 会影响 和 ! 的默认比较结果可以在比较符号添加 ? 或者 # 来明确指定大小写是否忽略。 string . string: 字符串链接 :function! TrueFalse(arg) : return a:arg? true : false :endfunction:echo TrueFalse(X start ~ X$) false :echo TrueFalse(end X ~ X$) true :echo TrueFalse(end x ~# X$) false流程控制If, For, While, and Try/Catch 条件判断 if expression... elseif expression... else... endif循环 for var in listcontinuebreak endfor复杂循环 for [var1, var2] in [[1, 2], [3, 4]] on 1st loop, var1 1 and var2 2 on 2nd loop, var1 3 and var2 4 endforWhile 循环 while expression endwhile异常捕获 try... catch pattern (optional) HIGHLY recommended to catch specific error. finally... endtry函数 使用 function 关键字定义一个函数使用 function! 覆盖一个函数的定义函数和变量一样也有作用范围的约束。需要注意函数名必须以大写字母开头。 function! Name(arg1, arg2, etc)function body endfunctiondelfunction function 删除一个函数 call function 调用一个函数函数调用前的 call 语句是必须的除非在一个表达式里。 例子强制创建一个全局函数使用感叹号参数使用 … 这种不定长的参数形式时a:1 表示 … 部分的第一个参数a:2 表示第二个如此类推a:0 用来表示 … 部分共有多少参数。 function! g:Foobar(arg1, arg2, ...)let first_argument a:arg1let index 1let variable_arg_1 a:{index} same as a:1return variable_arg_1 endfunction有一种特殊的调用函数的方式可以指明该函数作用的文本区域是从当前缓冲区的第几行到第几行按照 “1,3call Foobar() ”的格式调用一个函数的话该函数会在当前文件的第一行到第三行每一行执行一遍再这个例子中该函数总共被执行了三次。 如果你在函数声明的参数列表后添加一个 range 关键字那函数就只会被调用一次这时两个名为 a:firstline 和 a:lastline 的特殊变量可以用在该函数内部使用。 例如强制创建一个名为 RangeSize 的函数用来显示被调用时候的文本范围 function! b:RangeSize() rangeecho a:lastline - a:firstline endfunction面向对象 Vim 没有原生的类的支持但是你可以用字典模拟基本的类。为了定义一个类的方法可以在函数声明时使用 dict 关键字来将内部字典暴露为 self 关键字 let MyClass {foo: Foo} function MyClass.printFoo() dictecho self.foo endfunction类的实现更类似于 singleton为了在 VimScript 中创建类的实例我们对字典使用 deepcopy() 方法进行拷贝实例化 :let myinstance deepcopy(MyClass) :call myinstance.printFoo() Foo :let myinstance.foo Bar :call myinstance.printFoo() Bar接下来做什么 现在既然你已经知道了大致原理下面给你推荐一些好的资源。 教程 Vim 中文帮助文档usr_41 - 编写 Vim 脚本和 API 列表Vim 脚本指北Vim 脚本开发规范 其他 知乎Vim 专栏 感谢 希望你觉得本文对你有用感谢阅读。
http://www.yutouwan.com/news/250733/

相关文章:

  • wordpress 代码分析关键词在线优化
  • 做二手手机交易网站wordpress keywords description
  • 网上哪个网站做的系统好用吗网页设计师的发展前景
  • php做p2p网站源码百度首页排名怎么做到
  • 国内精自品线一区91制片沈阳网站优化
  • 网站建设推广途径wordpress短信验证插件
  • 四川省住房城乡建设厅免费刷seo
  • winserverfrp可以做网站吗wordpress 文章的形式
  • 网站理念手机网站制作设计
  • 前几年做那个网站能致富wordpress 插件 图片上传
  • 六安市建设网站市场信息价网站开发开源软件
  • 定制网站需要多少钱网站建设济南云畅网络技术有限公司
  • 网站设计技术罗源县建设局网站
  • 合肥做网站做推广自己做网站帮别人卖东西
  • 如何免费做网站推广设计公司愿景
  • 泰安网站开发推广上海网站建设网
  • 网站制作换下面友情连接wordpress安装创建数据库文件
  • 国内网站不备案珠海公司做网站
  • 苏州做网站的公司wordpress frames
  • 整页图片广告网站源码网站建设汇报
  • 免费php企业网站页面seo是什么意思
  • 陕西省西安市制作网站新建网站百度搜不到
  • 网站 公众号信息化建设工作深圳外贸人才网
  • 廊坊企业建站网站专业术语中seo意思是
  • 多站点wordpress安装平面设计有什么网站
  • 传奇网页游戏下载金华关键词优化平台
  • 十堰网站建设怎么样六枝特区建设局网站
  • 网页设计制作个人网站网站做自己的超链接
  • 商务网站模块设计时前台基础设施建设表格制作教程从零开始
  • 物业公司网站模板wordpress媒体库配置