Синтаксис JavaScript и отступ в Vim - PullRequest
4 голосов
/ 05 октября 2011

Я знаю, что об этом уже спрашивали, но у меня проблемы с настройкой отступов JavaScript для правильной работы в Vim.

Я пытался установить этот плагин:

http://www.vim.org/scripts/script.php?script_id=3081

И я получаю такое поведение:

if (x == 1) {
alert("nice");
}

Это мой vimrc:

syntax on
set background=light
colorscheme solarized
set tabstop=4
filetype plugin indent on
let g:solarized_termcolors=16

Я тоже пробовал это с этим плагином:

http://www.vim.org/scripts/script.php?script_id=1840

Но это дает мне это:

if (x == 1) {
        alert("nice");
}

Т.е. две вкладки, где я хочу, чтобы отступ был только на одной вкладке.

У кого-нибудь есть идеи, что здесь делать?

Ответы [ 3 ]

6 голосов
/ 27 марта 2012

Я пришел сюда из Google и был недоволен файлом отступа И Чжао, как было предложено выше.Все еще не улавливал некоторые мои вложенные функции.

Я спросил в твиттере и мне предложили https://github.com/pangloss/vim-javascript - чем я гораздо счастливее.

HTH,

4 голосов
/ 06 апреля 2017

Вики Vim объясняет, как настроить отступ для конкретного типа файла, и это довольно просто: http://vim.wikia.com/wiki/Indenting_source_code#Different_settings_for_different_file_types

Самый простой способ - поместить инструкции autocmd FileType в файл .vimrc. Вы можете указать отступ для каждого типа файла отдельно:

autocmd FileType javascript setlocal shiftwidth=2 tabstop=2
autocmd FileType html       setlocal shiftwidth=2 tabstop=2
autocmd FileType python     setlocal shiftwidth=4 softtabstop=4 expandtab

или установите отступ по умолчанию для всех типов файлов и переопределите его для конкретных:

set tabstop=4
set shiftwidth=4

autocmd FileType javascript setlocal shiftwidth=2 tabstop=2                                                   
autocmd FileType html setlocal shiftwidth=2 tabstop=2
4 голосов
/ 05 октября 2011

Вы пробовали это в вашем .vimrc

set smarttab
set cindent

измените также «плагин» JavaScript, который я использую для VIM: javascript.vim , который заменяет файл синтаксиса JavaScript по умолчанию VIM.

Независимо от того, какие плагины вы используете, отступы в VIM, как правило, довольно плохие, и это частая жалоба для пользователей VIM, особенно с JavaScript. Идеального решения не существует, что странно, учитывая мощную расширяемость VIM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...