Как мне свернуть в vim через пустые строки (пример rspec)?
Я пытаюсь заставить Vim сбросить карты так, как я хочу, но у меня проблемы.
Я использую пробелы в некоторых моих тестовых кодах, чтобы сделать их более разборчивыми, и я не могу заставить 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
2 ответа
Какой метод складывания вы используете? использование метода Indent Fold прекрасно работает для меня (ну, это сворачивает 5 строк, так как первая из них - пустая строка с отступом.
set foldmethod=indent
Если вы заинтересованы в свёртывании файлов RSpec, вот небольшой плагин RSpec foldexpr, который я создал за выходные. Он хорош для того, что он делает (~150 SLOC), но он обрабатывает фолдинг так, как мне нравится (например, фолды включают в себя трейлинг новых строк после блока, что было не совсем вашим вопросом, но довольно близко).
Вот складная колонка для вашего примера кода:
- 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