我在制作此映射时遇到了一些麻烦:
if exists(":Tabularize")
"rails routes file alignment in visual mode
vmap <Leader>ar :Tabularize /'[^']*'\|=>/l1l0<CR>
endif
当我采购我的vimrc然后:
\ar
我已经测试了Tabularize命令并且它有效。我现在想要将它映射到领导者组合,但它不能通过映射工作。只有我真的在vim的CLI中输入整个命令。
注意:我经历了一系列地图领导者问题,但没有一个解决我的特定问题。
答案 0 :(得分:5)
问题是您需要在映射中使用<bar>
而不是|
,因为|
分隔了vim命令。
xnoremap <leader>ar :Tabularize /'[^']*'\<bar>=>/l1l0<cr>
其他一些想法:
noremap
或<Plug>
映射,否则您应该使用<SID>
。v
模式,该模式同时映射可视模式和选择模式。最好使用xnoremap
代替:Tabularize
会将与您的模式匹配的所有相邻行与一个范围对齐:AddTabularPattern
可用于命名模式。将:AddTabularPattern routes /'[^']*'\<bar>=>/l1l0
添加到~/.vim/after/plugin/tabular.vim
。现在你可以做:Tabularize routes