如何让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
当然,对于textwidth
和padding
的每个值。
答案 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)
答案 3 :(得分:1)
出于这个原因,我使用NERDTree。 NERDTree 是vim的文件浏览器。您可以在启动时以任意宽度加载 NERDTree :
这是我在启动时运行 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.