我如何使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
的每一个值。
6条答案
按热度按时间xpszyzbs1#
Vim并不意味着是一个单一的、居中的文档编辑器(在编程时,您希望用相关信息填充每一个像素),因此只有变通方法:
a)您可以通过扩展折叠列来获得更大的左边距。不幸的是,这仅限于12个字符单元格:
字符串
B)你可以在左边创建一个空的填充窗口(也可以在右边,为了对称)。
型
恼人的窗口分裂可以通过以下方式清除:
型
w6mmgewl2#
我想你可以使用屏幕来达到这个目的。你可以打开三个不同的窗口,
CTRL+a,CTRL +|
然后转到第二个。
oymdgrw73#
有几个插件可以让你获得这种外观,其中大多数似乎是受MacOS Writeroom编辑器的启发。
例如,看看这个VimRoom插件的截图,或者在网上搜索“Vim writeroom插件”。
的数据
bvjveswy4#
我使用NERDTree是出于这个原因。NERDTree 是Vim的文件浏览器。您可以在启动时以任何宽度加载 NERDTree:
的数据
这就是我如何在启动时运行 NERDTree 来获得你在图像中看到的内容。我使用vim-plug(Vim的包管理器)来加载 NERDTree。
字符串
mepcadol5#
我正在寻找类似的东西,感谢@ingo-karkat answer,我设法创建了一个功能来打开/关闭中心内容。
字符串
建议的选项和Map:
型
4xy9mtcn6#
还有一种方法可以达到类似的效果。你可以设置number列的宽度,在neovim中你也可以设置signcolumn的宽度。下面是代码片段。
在Vim中,你可以使用'numberwidth=[n]'
字符串
在Neovim中,您可以将
signcolum=yes:[n]
与numberwidth=[n]
组合在一起做得更好。型
在我看来,
set numberwidth
和set signcolumn
的好的副作用是,它会将其应用到当前缓冲区,所以如果你碰巧使用不同宽度的源文件数量,你可以通过按Ctrl+C
将其切换到合适的缓冲区配置。如果你想为所有缓冲区设置它,那么你可以在
set numberwidth
和set signcolumn
前面加上bufdo
。bufdo
的不太愉快的副作用是,当你切换配置时,它会把你带到最后一个缓冲区。当然,你可以写一个变通方案,在那里你可以存储对当前缓冲区的引用,并在切换后返回到引用的缓冲区,那就太好了Here is link to the gist.