2013-02-10 7 views
1

Я пытаюсь получить vim, чтобы сложить, как я хочу, но с проблемами.Как сфотографировать vim через пустые строки (пример rspec)?

Я использую пробелы в каком-либо из своего тестового кода, чтобы сделать его более разборчивым, и я не могу заставить vim сбрасывать пустые строки.

Что у меня есть:

describe 'Troubles' do 

    describe 'Home' do 

    let(:troubles) { be_over} 

    describe 'Pain' do 
     it "shouldn't be this hard" { puts "but it is" } 
    end 
    end 
end 

и хотите, чтобы сложить, как:

describe 'Troubles' do 

    describe 'Home' do 
+--- 6 lines: ------------------- 
    end 
end 

Любой способ получить, что сделано?

Вот мой .vim установка для складывания

set tabstop=2 
set shiftwidth=2 
set expandtab 

set foldmethod=indent 
set foldnestmax=10 
set nofoldable 
set foldlevel=1 

ответ

3

какой метод складывания вы используете? используя отступ метода кратного отлично работаешь для меня (ну это складывает 5 строк так, что первые из них является пустым отступом строки.

set foldmethod=indent 
+0

Спасибо или быстрый ответ Эрик. На самом деле, у меня уже есть этот набор. Я добавил свою конфигурацию складывания и интервала к вопросу, чтобы помочь уточнить. –

+1

Я не смог отследить, как исправить его в vimrc, однако мне удалось воспроизвести проблему и исправить ее во время выполнения. Если я загружу эти настройки в свой .vimrc, я могу воспроизвести проблему. Если я воспроизвел проблему и запустил: set shiftwidth = 2 после того, как текст уже был введен, он работает так, как ожидалось, но нет, если я это сделаю: установите shiftwidth = 2 до ввода текста. Аналогично, если файл был сохранен и снова открыт, работает shiftwidth = 2 в .vimrc, и сгиб работает, как ожидалось. – Eric

+0

Эрик, ты потрясающий! Как вы сказали, это было трюк! –

0

Если вы заинтересованы в откидном для RSpec файлы конкретно, вот a little RSpec foldexpr plugin я бросил вместе над (около 150 SLOC), но он обрабатывает фальцовку именно так, как мне это нравится (например, складки подводят новые строки после блока, что было не совсем вашим вопросом, но довольно близко).

Вот foldcolumn для образца кода:

- describe 'Troubles' do 
| 
|-  describe 'Home' do 
|| 
||  let(:troubles) { be_over} 
|| 
||-  describe 'Pain' do 
|||  it "shouldn't be this hard" { puts "but it is"} 
|||  end 
||  end 
| end 

и вот что это будет выглядеть в сложенном виде:

describe 'Troubles' do 

- describe 'Home' ---------------------------------------------------- [4] - 
end 

 Смежные вопросы

  • Нет связанных вопросов^_^