vim脚本插件化

日积月累,自己写的 vim 脚本越来越多,大大的方便了日常编写任务,但是这些脚本没有做成插件的形式,导致换一台新机器时,不方便下载使用,下面就介绍一下如何把 自己写的脚本做成一个插件,可以在vimrc中使用Pl

vim自定义命令

本文章为转载内容,点击查看原文章https://zhuanlan.zhihu.com/p/27389503 使用脚本语言,可以更灵活地定制编辑器以完成复杂的任务。 自定义命令 Vim 编辑器允许定义自己的命令,我

自动添加序号

需求 给一段文字自动添加序号,要求本行的序号可以根据上一行的序号自动增一,若上一行没有序号,则从 1 开始 实现 用 ruby 编写 vim 脚本非常容易实现 " 每行的前面添加序号,根据上一行序号自动递增,若上一行没有序号,则从1

自定义range对象

ruby 中有个 range 对象,可以自动推测范围内的数据,比如: (1..100).each do |i| puts i end 会输出 1 到 100 内的所有数字 自定义 如果我们有一个自定义的对象,假如名字为Ym class Ym attr_accessor :year, :month def initialize @year, @month = year, month end end 若是想在Ym上使用((Ym.new(20

vim中的正则表达式

首先,在哪些情况下会用到正则表达式? 使用正则表达式的命令最常见的就是 / 和 ? 命令。其格式如下: /正则表达式 ?正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//

rack-cors解决Ajax跨域问题-CORS

什么是跨域 理解跨域首先必须要了解同源策略。同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。 那么什么是同源?我们知道,URL 由协议、域名、端口和路径组成,如果两个 URL 的协议、域名和端口相同,则表示

用ruby编写vim脚本

在开始编写插件之前,你需要确认 Vim 是否支持 Ruby,通过以下命令来判别: $ vim --version | grep +ruby 如果输出为空,则表示你当前的 vim 不支持 Ruby,需要重新编译一下,并启用对 Ruby 的支持。 如果没有问题那就开始吧! 下面的示例是

rails重写字段

在 rails 中,model 的属性是默认的可读可写的,有时我们需要重写某个字段的访问器。当查询某个字段的值时,需要进行其他操作; 如: 当查询recommand_code的值时,若存在,则返回,若不存在则创建一个包

SSH隧道

在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到源码修改后的运行结果。但当涉及到需要调用微信接口时,由于不和你

rails-自关联

关于 Rails 的模型自关联有一个非常有意思的题目,大概是这样的: lisa = Person.create(name:'Lisa') tom = Person.create(name:'Tom',parent_id:lisa.id) andy = Person.create(name:'Andy',parent_id:lisa.id) tom.parent.name => 'Lisa' lisa.children.map(&:name) => ['Tom','Andy'] thomas = Person.create(name: 'Thomas',parent_id: tom.id) peter = Person.create(name:'Peter',parent_id:tom.id) gavin = Person.create(name:'Gavin', parent_id: andy.id) lisa.grandchildren.map(&:name) => ['Thomas','Peter','Gavin'] 问如何定义 Person 模型来满足以上需求? 题目考察了对模型自关联的理解,通过审题我们可以得出

ruby随机生成字符串

shuffle (("0".."9").to_a + ("A".."Z").to_a).shuffle[0..6].to_a.join shuffle: 随机排列,中文名称是洗牌 sample (("0".."9").to_a + ("A".."Z").to_a).sample(6).join * [*'0'..'9',*'A'..'Z'].sample(6).join *的意思是将范围展开

rails_console好用的技巧

用 app 来调用 routes,比如 app.posts_path, app.topic_path(1) irb > app.topics_path => "/topics" irb > app.get(app.root_path) ...... => 200 用 helper 来调用 Helper 方法,比如: irb > helper.link_to("Ruby China", "http://ruby-china.org") => "<a href=\"http://ruby-china.org\">Ruby China</a>" irb > helper.truncate("Here is Ruby China.", length: 15) => "Here is Ruby..." 使用 source_location 方法查看方法在那里定义的, 比如: irb >Topic.instance_method(:destroy).source_location => ["/Users/jason/.rvm/gems/ruby-1.9.3-p0/gems/mongoid-2.4.8/lib/mongoid/persistence.rb", 30] irb >Topic.method(:destroy_all).source_location => ["/Users/jason/.rvm/gems/ruby-1.9.3-p0/gems/mongoid-2.4.8/lib/mongoid/persistence.rb", 239]

ActiveRecord_Store用法示例

转载 http://api.rubyonrails.org/classes/ActiveRecord/Store.html 阅读 http://api.rubyonrails.org 相关的笔记 使用 Model 里面的一个字段作为一个序列化的封装,用来存储一个 key/value 文档里面提到,对应的存储字段的类型最好是 text, 以便确保有足够的存储空间 Make sure that you declare the database column used for the serialized store as a text, so there's plenty of room. 假设 Model

wget整站下载

这个命令可以以递归的方式下载整站,并可以将下载的页面中的链接转换为本地链接。 wget 加上参数之后,即可成为相当强大的下载工具。 wget -r -p -np -k http://xxx.com/abc/ -r, –recursive(递归) specify recursive download.(指

部署Rails

添加新用户 在服务器添加一个新的用户,用户名为 deploy教程 执行命令sudo adduser 用户名 按提示输入密码 设置一些个人信息,可以直接按 enter 键,设为空 添加权限 在 root 用户下,打开/etc/sudoers文件 # # This file MUST