Как центрировать горизонтальное содержимое открытого файла в 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
Конечно, для каждого значения textwidth
и padding
.
Ответы
Ответ 1
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
Ответ 2
Я думаю, вы могли бы достичь точки, используя экран.
вы можете открыть три разных окна, чередующихся вертикально, с помощью
CTRL + a, SHIFT + |
затем перейдите ко второму.
Ответ 3
Есть несколько плагинов, которые позволяют вам получить этот вид, большинство из них, похоже, вдохновлено Writeroom для MacOS.
Посмотрите, например, этот снимок экрана плагина VimRoom или просто выполните поиск в Интернете для "vim writeroom plugin".
![введите описание изображения здесь]()
Ответ 4
Я использую 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.