Клавиша Tab == 4 пробела и автоматический отступ после фигурных скобок в Vim
Как сделать vi -ВИМ никогда не используйте вкладки (преобразование пробелов в вкладки, плохо!), делает клавишу tab = = 4 пробела и автоматически отступает код после фигурных скобок блоков, таких как Emacs делает?
кроме того, как сохранить эти настройки, чтобы мне никогда не пришлось вводить их снова?
Я видел другие вопросы, связанные с этим, но это всегда кажется немного от того, что я хочу.
9 ответов:
как было указано в нескольких ответах ниже, предпочтительный метод теперь не использовать smartindent, а вместо этого использовать следующее (в вашем .vimrc):
filetype plugin indent on " show existing tab with 4 spaces width set tabstop=4 " when indenting with '>', use 4 spaces width set shiftwidth=4 " On pressing tab, insert 4 spaces set expandtab
В вашем .vimrc: file:set smartindent set tabstop=4 set shiftwidth=4 set expandtabфайлы справки занимают немного времени, чтобы привыкнуть, но чем больше вы читаете, тем лучше Vim получает:
:help smartindentеще лучше, вы можете встроить эти настройки в свой источник для переносимость:
:help auto-settingчтобы увидеть текущие настройки:
:set allкак graywh указывает в комментариях, smartindent был заменен cindent, который "работает более умно", хотя по-прежнему в основном для языков С C-подобным синтаксисом:
:help C-indenting
связанный, если вы открываете файл, который использует как вкладки, так и пробелы, предполагая, что у вас есть
set expandtab ts=4 sw=4 aiВы можете заменить все вкладки с пробелами в файле с
:%retab
лучший способ получить отступ для конкретного типа файла-использовать
filetype plugin indent onв свой vimrc. Тогда вы можете указать такие вещи, какset sw=4 sts=4 etin .vim/ftplugin/c. vim, например, без необходимости делать их глобальными для всех редактируемых файлов, а другие синтаксисы типа non-C тоже будут правильно отступать (даже шепелявит).
чтобы иметь вкладки 4-space в большинстве файлов, реальный 8-wide tab char в Makefiles и автоматический отступ в различных файлах, включая C / C++, поместите это в свой
~/.vimrcfile:" Only do this part when compiled with support for autocommands. if has("autocmd") " Use filetype detection and file-based automatic indenting. filetype plugin indent on " Use actual tab chars in Makefiles. autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab endif " For everything else, use a tab width of 4 space chars. set tabstop=4 " The width of a TAB is set to 4. " Still it is a \t. It is just that " Vim will interpret it to be having " a width of 4. set shiftwidth=4 " Indents will have a width of 4. set softtabstop=4 " Sets the number of columns for a TAB. set expandtab " Expand TABs to spaces.
на многих системах Linux, таких как Ubuntu,
.vimrcфайл не существует по умолчанию, поэтому рекомендуется сначала создать его.не используйте
.viminfoфайл, который существует в домашнем каталоге. Он используется для другой цели.Шаг 1: Перейдите в свой домашний каталог
cd ~Шаг 2: создайте файл
vim .vimrcШаг 3: Добавьте конфигурацию, указанную выше
filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtabШаг 3: Сохранить файл, нажав Shift + ZZ.
рекомендуется использовать отступ на основе типа файла и использовать только smartindent и cindent, если этого недостаточно.
добавьте следующее к вашему .vimrc
set expandtab set shiftwidth=2 set softtabstop=2 filetype plugin indent onнадеюсь, что это поможет как другой ответ.
редактировать ~/.vimrc
$ vim ~/.vimrcдобавить следующие строки :
set tabstop=4 set shiftwidth=4 set softtabstop=4 set expandtab
С ВИМ Вики:
:set tabstop=4 :set shiftwidth=4 :set expandtab
автоматический отступ основан на текущем режиме синтаксиса. Я знаю, что если вы редактируете Фу.java, затем ввод
{и наезд введите отступы в следующей строке.что касается вкладок, есть две настройки. В Vim введите двоеточие, а затем "set tabstop=4", который установит вкладки для отображения в виде четырех пробелов. Снова нажмите двоеточие и введите "set expandtab", который будет вставлять пробелы для вкладок.
вы можете поместить эти настройки в a .vimrc (или _vimrc на Windows) в вашем домашнем каталоге, поэтому вам нужно ввести их только один раз.
Comments