【问题标题】:How to use vim/tabularize to center lines but leave prefix?如何使用 vim/tabularize 使线条居中但保留前缀?
【发布时间】:2016-07-26 16:21:11
【问题描述】:

我最近有了尝试使用表格化来“居中”某些行的想法。例如,这里有一些 Vim 插件:

Plug 'ervandew/supertab'
Plug 'godlygeek/tabular'
Plug 'itchyny/lightline.vim'
Plug 'kien/ctrlp.vim'

如果我运行:Tabularize /\//r0c0l0,我得到的是:

  Plug 'ervandew/supertab'
 Plug 'godlygeek/tabular'
   Plug 'itchyny/lightline.vim'
      Plug 'kien/ctrlp.vim'

这非常接近,除了Plug 也被移动了。有没有办法使用 tabularize 基于斜线居中,但将 Plug 留在左侧不动,如下所示:

Plug  'ervandew/supertab'
Plug 'godlygeek/tabular'
Plug   'itchyny/lightline.vim'
Plug      'kien/ctrlp.vim'

【问题讨论】:

  • 你试过视觉块模式吗?
  • @rityzmon,介意接受一个答案吗?

标签: vim alignment


【解决方案1】:

一种解决方案是搜索包装规范的左侧并与之对齐,例如:

:Tabularize /'[^/]\+/l1r0l0

所以左边是Plug,中间是'<package author>,右边是\<package name>'

【讨论】:

    【解决方案2】:

    您实际上可以使用另一种方法来做到这一点,这将分为两个步骤:

    :let temp=&textwidth | :%s:/:/\r:g | execute "set textwidth=".max(map(getline(1,'$'),'len(v:val)')) | :%right | :%normal! Jx
    :execute "set textwidth=".temp | %s/^\(.*\)\(Plug\)\(.\+\)'/\2\1\3'/g
    

    max(map(getline(1,'$'),'len(v:val)'))

    【讨论】:

    • 我只是为了好玩! :) 我喜欢逼自己!
    • 任何你可以用插件做的事情,你也可以不用插件做。在最坏的情况下,您只需键入插件的主体即可。 :) 问题是,哪种方法更高效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多