假设我们在bash控制台中有这个输出:
$ findgrep RAILS_ENV
./script/munin_stats:7:RAILS_ENV = ENV['RAILS_ENV'] || "development"
./script/munin_stats:12: dbconfig = dbhash[RAILS_ENV]
./lib/tasks/juggernaut.rake:4: @rails_env = ENV["RAILS_ENV"] || "development"
./lib/tasks/cruise.rake:19: ENV['RAILS_ENV'] = 'test'
./lib/tasks/populate.rake:15: dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])
./lib/tasks/populate.rake:21: dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])
./lib/tasks/populate.rake:29: RAILS_ENV = "test"
如何创建文件名(例如'./script/munin_stats:7')可点击链接(例如Ctrl +单击),这将在我喜欢的编辑器中打开所选文件?
答案 0 :(得分:1)
这更像是终端模拟器(例如,xterm或gnome-terminal)的功能而不是bash。流行的urxvt终端模拟器(例如apt-get install rxvt-unicode
)在Perl中是可扩展的,因此应该可以编写urxvt过滤器来进行选择并根据选择执行编辑器。
默认的“selection-popup”脚本(参见Perl source here)已经识别出何时有文件:选择了数字模式,并提供了将其转换为vi命令的选项,该命令将在右侧打开文件
答案 1 :(得分:0)
Hotwire可以做到这一点。
答案 2 :(得分:0)
如果您不介意使用GUI显示列表,可以尝试zenity:
vi `findgrep RAILS_ENV * | cut -f 1 -d : | zenity --list --column Files`
注意:如果您显示您(更喜欢)使用的终端模拟器,它可能会很有用。