Как Вы украшаете / выравниваются / код формата в vi? Какова команда?
Я вставил в ломте кода, и мне нужно было форматировать/выравнивать все это..., очевидно, я - vi новичок.
x
= {движение}
: h =
P.S. Вы не должны использовать vi, если vim доступен.
Если вручную настраивать отступы, я открою визуальный блок с помощью V
в первой или последней строке, которую я хочу изменить отступ, перейду к фигурной скобке, содержащей блок, перейду к другой фигурной скобке с помощью %
, затем сместите строку с помощью >
или <
Если отступы слишком велики, я сдвину все полностью влево с помощью <
и повторю это с .
, а затем заново все отступы.
Другое решение - использовать команду unix fmt
, как описано в . Ваша проблема с Vim в том, что вы не работаете с vi. , {!} Fmt
Эти команды в моем ответе работают в vim. Большинство людей, которые думают, что они используют vi, используют vim. Чтобы узнать, действительно ли ваш vi является vim, откройте vi и введите : version
- если это vim, он скажет об этом. В противном случае вы можете просто увидеть номер версии без названия программы. Кроме того, когда вы впервые открываете vim, вы обычно видите какой-то экран-заставку с надписью «VIM - VI iMproved» ...
Автоматический отступ
Чтобы включить автоматический отступ, убедитесь, что vim знает тип файла, который вы редактируете (обычно он автоматически определяет это по расширению имени файла, но может не понять этого с некоторыми типами файлов). Вы можете указать ему тип файла, используя меню для выделения синтаксиса. Затем сделайте следующее:
:filetype indent on
Вы можете отключить автоматический отступ с помощью
:filetype indent off
Автоматическая настройка / исправление отступа
Как правило, = {движение} выравнивает код по уровню отступа.
==
выровнять текущую строку = i {
выровнять внутренний блок =%
выровнять по соответствующей круглой скобке / скобке под курсором = 14j
или 14 ==
выровняйте следующие 14 строк = G
выровняйте по концу файла vG =
то же самое, выровняйте по концу {{ 1}} файл (но с использованием визуального режима) vjjj =
выровнять четыре строки (с использованием визуального режима) Отступ вручную
Если vim неправильно определяет уровень отступа, есть два способа изменить it:
<<
, чтобы сдвинуть строку влево, или >>
, чтобы сдвинуть ее вправо на одну вкладку . Вы можете сделать это с помощью нескольких строк, используя те же команды перемещения, которые я показал выше (например, > i {
отступает от текущего внутреннего блока кода). Выравнивание знаков равенства и т. Д.
Если вы хотите выровнять знаки равенства в списке объявлений, вам следует рассмотреть возможность использования этого сценария vim: http://www.vim.org/scripts/script.php?script_id = 294
Регулировка размеров отступа / табуляции
Если вы хотите, чтобы vim использовал пробелы вместо табуляции при отступах, запустите эту команду (или подумайте о добавлении ее в ваш файл vimrc)
:set expandtab
Чтобы установить, сколько пробелов равно tab, я обычно делаю это:
:set expandtab softtabstop=3 tabstop=3 shiftwidth=3
Но если вам приходится много работать с разным количеством вкладок, вы также можете использовать эту функцию и привязка клавиш:
function! Ktabs(tabsize)
execute "set softtabstop=" . a:tabsize . " tabstop=" . a:tabsize . " expandtab shiftwidth=" . a:tabsize
"set softtabstop=a:tabsize tabstop=a:tabsize expandtab shiftwidth=a:tabsize
endfunction
noremap <leader><Tab> :call Ktabs(3)<Left>
Если вы редактируете файл, в котором используются символы табуляции и пробелы, вы можете использовать эту команду после установки размера табуляции:
:retab