Поддельный отступ в VIM [дубликат]

Это не волшебство или что-то еще ... просто приятная стенография анонимных функций.

partial(alert, "FOO!") эквивалентно function(){alert("FOO!");}

partial(Math.max, 0) соответствует function(x){return Math.max(0, x);}

Призывы к частичной ( MochiKit терминологии. Я думаю, что некоторые другие библиотеки дают функции, которые способствуют тому или иному), выглядят немного лучше и менее шумно, чем анонимные функции.

11
задан Andres Riofrio 12 December 2012 в 23:55
поделиться

3 ответа

Это противоположно тому, что было задано здесь .

Да, вы можете! Если у вас есть опция «скрывать», вы можете попробовать это.

:syntax match spaces /  / conceal cchar= "Don't forget the space after cchar!
:set concealcursor=nvi
:set conceallevel=1

Вот что делают эти команды:

  • Установите символ замены для 2 пробелов, чтобы 1 space
  • Сохранять текст под курсором, скрытым для нормальных, визуальных и вставных режимов
  • Включить скрытие текста одним символом

Вам все еще нужно установите для tabstop, softtabstop и shiftwidth значение 4, но выглядит , а чувствует , как 2! Однако, когда вы пишете файл, это действительно 4.

Если вы хотите отключить сокрытие, вы можете сделать одну из двух вещей:

  1. Удалить правило скрытия :syntax clear spaces или
  2. Разрешить скрытый текст расширяться под курсором :set concealcursor=
6
ответ дан Balthamos 28 August 2018 в 04:46
поделиться

Если он использует истинные пробелы вместо вкладок (как это звучит), нет, вы не можете отображать vim 2 пространства, где их нет 4. Однако вы можете сообщить vim следующим командам, чтобы заменить все 4-пространственные группы на и затем отобразите их как 2 пробела.

:set tabstop=4 ! display a tab as 4 columns
:set shiftwidth=4
:set noexpandtab
:gg=G   ! convert the whole file to tabs
:set tabstop=2 !display a tab as 2 columns
:set shiftwidth=2

Когда вы готовы отправить свою работу,

:set tabstop=4
:set shiftwidth=4
:set expandtab
:%retab

Должны преобразовать ее.

0
ответ дан dchellaram 28 August 2018 в 04:46
поделиться

Справка имеет пример для аналогичного варианта использования разных ширины табуляции, см. :help retab-example.

Адаптация этого к пространствам с удвоением / удвоением:

:autocmd BufReadPost,BufWritePost  * %substitute/^\( \+\)\1/\1/e
:autocmd BufWritePre               * %substitute/^ \+/&&/e
4
ответ дан Ingo Karkat 28 August 2018 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: