VIM格式化/对齐

3
我正在尝试将VIM作为我的Ruby/Rails编辑器。迄今为止,我对其功能印象深刻,并且我已经安装了以下插件,以使我的IDE体验更好:
  • auto-pairs
  • better-snipmate-snippets
  • nerdcommenter
  • nerdtree
  • tabular
  • vim-endwise
  • vim-nerdtree-tabs
  • vim-rails
  • vim-surround
然而,我仍然很难找到一种格式化/对齐代码的方法。例如,有时我可能会从其他地方复制并粘贴代码,然后整个代码就会散开。
例如: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; 
                                                                                                         } 
                                                                                                             } 

I want it to be

.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个回答

5

以下两个方法可能会对你有所帮助:

  • == 命令:可以重置当前选中的代码格式(例如,使用 V 可以在可视模式下选择代码块 -- 一个有用的组合是 {V}=,可以自动缩进当前“段落”)

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


谢谢你的回答,很抱歉我不得不选择“guessimtoolate”的答案,因为它比你的早了几秒钟:D - sameera207

4

尝试使用]p或在粘贴前使用:set paste,在粘贴后使用:set nopaste将vim置于粘贴模式中。您还可以将其映射到所选的某个键组合,以避免每次输入。您可以从vim的帮助中获取有关这两种方法的更多信息(:h ]p:h paste)。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接