linux下让irb实现代码自动补全的功能

时间:2024-01-02 17:23:38

我不知道其他系统上irb是否有此功能,但是在ubuntu上ruby2.1.2自带的irb默认是没有代码自动补全功能的,这多少让人觉得有所不便.其实加上也很简单,就是在irb里加载一个模块:require 'irb/completion' ,但是我们不可能每次都手动敲着一行代码,KISS和DRY哪去了?linux下让irb实现代码自动补全的功能

简单的一劳永逸的方法是在~/.irbrc里添加irb运行时需要执行的代码即可.你要问我怎么知道.irbrc文件路径的,你可以通过IRB.rc_file看到.网上还有更高级的自动补全功能,包括添加语法高亮等等.作者的方法是下载安装wirble gem:sudo gem install wirble,然后在.irbrc文件中添加如下代码来实现的:

require "rubygems"
require "wirble"
Wirble.init
Wirble.colorize

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
    IRB.conf[:LOAD_MODULES] << 'irb/completion'
end

有兴趣的童鞋可以自行尝试下哦.