Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将Rails routes文件与表格对齐?_Ruby On Rails_Regex_Vim - Fatal编程技术网

Ruby on rails 如何将Rails routes文件与表格对齐?

Ruby on rails 如何将Rails routes文件与表格对齐?,ruby-on-rails,regex,vim,Ruby On Rails,Regex,Vim,我想将Rails routes文件中的此代码段与以下文件对齐: Rails.application.routes.draw do get 'about' => 'static_pages#about' get 'help' => 'static_pages#help' get 'contact' => 'static_pages#contact' get 'signup' => 'users#new' get 'login' => 'sessio

我想将Rails routes文件中的此代码段与以下文件对齐:

Rails.application.routes.draw do
  get 'about' => 'static_pages#about'
  get 'help' => 'static_pages#help'
  get 'contact' => 'static_pages#contact'
  get 'signup' => 'users#new'
  get 'login' => 'sessions#new'
  post 'login' => 'sessions#create'
  delete 'logout' => 'sessions#destroy'
end
为此:

Rails.application.routes.draw do
  get    'about'   => 'static_pages#about'
  get    'help'    => 'static_pages#help'
  get    'contact' => 'static_pages#contact'
  get    'signup'  => 'users#new'
  get    'login'   => 'sessions#new'
  post   'login'   => 'sessions#create'
  delete 'logout'  => 'sessions#destroy'
end
通过使用vim的插件

我一直在尝试各种正则表达式,但似乎都做不好。
:制表/'[^=]*\\\\=.*/l10
只会弄乱文本

我能找到的最接近的资源是这个问题:

我不记得你是如何使用Tabular的,但是:

:%!column -t|sed 's/  \([^ ]\)/ \1/g'
或:

:%!t列
:%s/\([^]\)/\1/g
使用以下方法:

:Tabularize/'[^']*'\|=>/l1l0
其思想是使用字符串和哈希火箭作为分隔符

我建议您阅读所有的
:h表格


虽然我不累,但我听说它使一些对齐比表格更容易。这可能值得一看。

这些代码片段可以完成这项工作,但也会使行失去缩进。有没有关于如何处理这个问题的建议,不需要在以后重新缩进文件?只需编辑这个问题以考虑行缩进。这一个几乎可以完成。除了最后一行的内容是
delete'logout'=>“sessions#destroy”
,我已经切换了标志以适应这种情况
:Tabularize/'[^']*'\|=>/l1l0