3

假设我们在 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+click),它将在我最喜欢的编辑器中打开选定的文件?

4

3 回答 3

1

这更多是终端仿真器(例如,xterm 或 gnome-terminal)的功能,而不是 bash。流行的urxvt终端仿真器(例如apt-get install rxvt-unicode)在 Perl 中是可扩展的,因此应该可以编写一个 urxvt 过滤器来进行选择并根据选择执行编辑器。

默认的 'selection-popup' 脚本(请参阅此处的 Perl 源代码)已经识别出您何时选择了 file:number 模式,并提供了将其转换为 vi 命令的选项,该命令将在右行打开文件。

于 2009-10-14T13:35:29.747 回答
0

热线可以做到这一点。

于 2009-10-14T10:06:49.147 回答
0

如果您不介意使用 GUI 显示列表,您可以尝试 zenity:

vi `findgrep RAILS_ENV * | cut -f 1 -d : |  zenity --list --column Files`

注意:如果您显示您(喜欢)使用的终端仿真器,它可能会很有用。

于 2009-10-22T11:13:42.113 回答