четверг, 26 марта 2009 г.

Vim. Spaces vs Tabs.

Vim замечательный редактор, в котором почти все поддается настройке. Процесс редактирования почти никогда не обходится без использования отступов, как правило они выполняются табуляцией, но иногда требуется делать это некоторым количеством пробелов. Так например в языке программирования python рекомендуется делать отступы при помощи 4 пробелов. Vim позволяет легко переключаться с отступов по табам на отступы пробелами, за эти параметры отвечают 3 настройки:

  • expandtab

  • shiftwidth

  • softtabstop


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

(нажимаем tab)
|<-softtabstop->|<-softtabstop->|
| |
print('ok') | (нажимаем enter)
|<-shiftwidth-->|<--shiftwidth->|
def is_vim_best(): | |
if(1 == 1): | |
if(2 == 2): |
return 'yes'

print('is vim best? - ' + is_vim_best())

Тоесть, expandtab - включает замену табов на пробелы (:set expandtab для включения и :set noexpandtab для выключения), в значении softtabstop хранится количество пробелов, на которое подменяется таб (:set softtabstop=4), когда нажимается таб, в shiftwidth хранится количестов пробелов, на которое заменяется отступ, когда выполняется авто-отступ или операции << >>.

Комментариев нет: