如何在vim中水平放置打开文件的内容?

时间:2012-10-18 10:25:02

标签: vim

如何让vim水平居中打开文件的文本?

我不想修改文件,只是为了改变vim显示它的方式。

更清楚的是,当我打开文件时,我目前有这种情况:

|<------ textwidth=80 ------->|<-------------- padding -------------->|
|lorem ipsum dolor sit amet.. 
|dsdsda da dsa dsa 

我想要的是以下内容:

|<--- padding/2 --->|<------ textwidth=80 ------->|<--- padding/2 --->|
|                    lorem ipsum dolor sit amet.. 
|                    dsdsda da dsa dsa 

当然,对于textwidthpadding的每个值。

4 个答案:

答案 0 :(得分:10)

Vim并不是一个单一的,居中的文档编辑器(编程时,你想用相关信息填充每个像素),所以只有解决方法:

a)您可以通过展开折叠列来获得更大的左边距。不幸的是,这仅限于12个字符单元格:

:let &foldcolumn = (&columns - &textwidth) / 2

b)您可以在左侧创建一个空填充窗口(也可能在右侧创建对称)。

:execute 'topleft' ((&columns - &textwidth) / 2 - 1) . 'vsplit _paddding_' | wincmd p

可以通过以下方式清除烦人的窗口分割:

:hi VertSplit guifg=bg guibg=NONE gui=NONE

答案 1 :(得分:4)

我认为你可以使用屏幕达到目的。 你可以用

打开垂直平铺的三个不同窗口

CTRL + a,SHIFT + |

然后转到第二个。

答案 2 :(得分:3)

存在几个允许您获得外观的插件,其中大多数似乎都受到MacOS Writeroom编辑器的启发。

例如,请参阅VimRoom插件的此屏幕截图,或者只是在网上搜索“vim writeroom插件”。

enter image description here

答案 3 :(得分:1)

出于这个原因,我使用NERDTree NERDTree 是vim的文件浏览器。您可以在启动时以任意宽度加载 NERDTree

enter image description here

这是我在启动时运行 NERDTree 以获取您在图像中看到的内容的方式。我使用vim-plug(vim的包管理器)来加载 NERDTree

# Load NERDTree Plugin via vim-plug
call plug#begin()
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
call plug#end()

let g:NERDTreeWinSize=60  # Set NERDTree width.
NERDTreeToggle            # Open NERDTree at startup.
au VimEnter * wincmd l    # Remove focus from NERDTree window at startup.