VIM格式化/对齐

时间:2013-04-14 18:10:46

标签: vim formatting text-align

我正在尝试将VIM作为我的ruby / rails编辑器。如此肥胖我的功能真的令人印象深刻 我能够安装以下插件来为我提供更好的IDE体验

  • 自动对
  • 更好-snipmate-片段
  • nerdcommenter
  • nerdtree
  • 表格
  • VIM-末端朝前
  • VIM-nerdtree的选项卡
  • VIM-轨
  • VIM-环绕

但是我仍然难以找到格式化/对齐代码的方法。作为一个例子,有时我可能会复制并粘贴来自其他地方的代码,然后整个代码就会分散。

Ex:items.css.scss

.throw {
  float:left; width: 100%; 
                   margin-bottom: 2px; 
                        border: solid gray 1px; 
                                border-radius: 10px; 
                                            .cell { 
                                                            float: left; 
                                                                            padding-left: 6px; 
                                                                                            padding-right: 6px; 
                                                                                                         } 
                                                                                                             } 

我希望它是

.throw {
  float:left; width: 100%; 
  margin-bottom: 2px; 
  border: solid gray 1px; 
  border-radius: 10px; 
     .cell { 
       float: left; 
       padding-left: 6px; 
       padding-right: 6px; 
                                                                                                } 
                                                                                           } 

在VIM中对齐/格式化代码的最佳插件/方法是什么

3 个答案:

答案 0 :(得分:5)

有两件事可以帮到你:

  • ==命令,用于重新接受当前所选的任何内容(例如,尝试V直观地选择行 - 一个有用的组合是{V}=,它将缩进当前的“段落” )

  • :set paste命令。在将代码粘贴到文件中之前启用此功能(并在完成后使用:set nopaste再次将其关闭。)

答案 1 :(得分:4)

尝试粘贴]p或粘贴:set paste然后粘贴:set nopaste,然后在粘贴代码时将vim置于粘贴模式。您也可以将其映射到您选择的某个组合键,这样您就不必每次都输入它。您可以从vim的帮助中获得有关这两种方法的更多信息(:h ]p:h paste)。

答案 2 :(得分:2)

如果您对一般格式化代码感兴趣,请查看此名为vim-autoformat的vim插件: https://github.com/Chiel92/vim-autoformat