Подтвердить что ты не робот

Как центрировать горизонтальное содержимое открытого файла в 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.

4b9b3361

Ответ 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.