Як я можу ввімкнути та зробити складання коду у Vim?
Чи потрібно щось міняти ~/.vimrc
?
Я набираю z+ aі z+ cі z+, oі нічого не відбувається.
Ось стаття про складання: Складання коду у Vim .
Як я можу ввімкнути та зробити складання коду у Vim?
Чи потрібно щось міняти ~/.vimrc
?
Я набираю z+ aі z+ cі z+, oі нічого не відбувається.
Ось стаття про складання: Складання коду у Vim .
Відповіді:
Ні , ви не повинні помістити команду зі сторінки ви пов'язані в вашому ~/.vimrc
, ви можете просто ввести їх після видачі :
в vim
отримати запрошення командного рядка.
Однак якщо ви поставите рядки:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
як зазначено у посиланні, яке ви надали, у своєму ~/.vimrc
, вам не потрібно вводити їх кожен раз, коли ви хочете використовувати складання у файлі. set nofoldenable
Переконується , що при відкритті, файли є «нормальними», тобто не складний.
:
. Ви вводите set
команди після підказки, отриманої під час введення тексту :
. zc
Ви набираєте , коли ви можете вільно переміщати курсор, так само , як ви б використовувати , zt
щоб отримати текст курсор знаходиться на верхній частині поточного екрана.
Метод складання за замовчуванням Vim manual
означає, що складки створюються вручну; не інакше, там немає складка бути закриті або відкриті з допомогою za, zoабо , zcяк ви описали. Але, ви можете створити складку zf{motion}
у звичайному режимі або zfу візуальному режимі; наприклад, zfjстворює складку для поточної лінії та наступної наступної у звичайному режимі.
indent
Прийнята відповідь від @Anthon описує, як встановити метод складання indent
; тобто складання визначаються рівнем відступів.
syntax
Більш зручним способом складання можуть бути створені автоматично на основі мовного синтаксису поточного буфера. Якщо ви використовуєте мову програмування, давайте назвемо її L , і ви маєте складне визначення L (наприклад, ви встановили плагін Vim, в якому визначена інформація про склад L , наприклад c.vim для C / C ++ або python -mode для Python), вам просто потрібно встановити метод складання syntax
:
set foldmethod=syntax
Це воно. Найбільш корисні команди для роботи зі складками:
foldlevel
одиницю.foldlevel
одиницю.foldlevel
до нуля - всі складки будуть відкритими.Не потрібно систематично користуватися нею: я зазвичай вручну вибираю складки за рухом або секцією. Наприклад, скласти абзац є zfip
і скласти наступні 20 рядків zf20j
. Використовуйте za
для перемикання та zd
видалення.
Це вимагає трохи більше роботи, але дозволяє вашому складенню відображати завдання, що знаходиться під рукою.
Ви можете ввімкнути folding
поточний сеанс, як-от відповідь @ Anthon. Але якщо ви хочете зробити його постійним, вам потрібно встановити принаймні цю лінію .vimrc
для складання роботи:
set foldmethod=indent
indent
це вид складання, ви можете побачити більше з :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Тепер, кожного разу, коли ви відкриваєте файл vim
, ви можете бачити, як код згортається методом, який ви встановили. Потім ви можете використовувати za
, zc
, zo
.