В Vim, какая команда исправить отступ всех строк?
Часто я копирую и вставляю код в удаленный терминал и все перепутано. Я хочу исправить это одним махом.
vim
vi
indentation
mmcdole
источник
источник
Ответы:
=
команда indent может принимать движения. Таким образом,gg
чтобы получить начало файла,=
для отступа,G
до конца файла,gg=G
.источник
''
(две одинарные кавычки) возвращает вас туда, где вы были, поэтомуgg=G''
следует сделать отступ, а затем вернуться.Прежде чем вставлять в терминал, попробуйте
:set paste
и затем,:set nopaste
когда вы закончите. Это отключит авто-отступ, перенос строки и другие функции, которые портят вашу пасту.edit: Кроме того, я должен отметить, что гораздо лучший результат, чем
=
отступ, обычно можно получить с помощью внешней программы. Например, я бегаю:%!perltidy
все время.astyle
,cindent
И т.д. , также могут быть использованы. И, конечно же, вы можете сопоставить их нажатию клавиш и сопоставить разные нажатия клавишам в зависимости от типа файла.источник
equalprg
параметр в ftplugin, чтобы использовать внешний фильтр для=
отступа, а не пользовательскую привязку клавиш.formatpgm
с приборкой и astyle, а затемgq
. Вот несколько примеров из моего.vimrc
:au FileType xml set fp=tidy\ -q\ -i\ -xml
иau FileType java set fp=/usr/local/bin/astyle\ --mode=java\ --indent=tab
Если вы хотите переименовать блок, в котором находитесь, без необходимости ввода каких-либо аккордов, вы можете сделать:
источник
=aB
который не будет перемещать курсор вообще.[[=]]
требуется 5 аккордов :(Мастер всех команд
gg=G
Это отступы всего файла!
Ниже приведены некоторые простые и элегантные команды, используемые для быстрого отступа строк в Vim или gVim.
Чтобы сделать отступ для всех строк под текущей строкой
Для отступа текущей строки
Для отступа
n
строк ниже текущей строкиНапример, чтобы сделать отступ на 4 строки ниже текущей
Чтобы сделать отступ для блока кода, перейдите к одной из фигурных скобок и используйте команду
источник
Вы можете использовать аккуратное приложение / утилиту для отступа файлов HTML и XML, и это отлично работает при отступе этих файлов.
Префтификация файла XML
Украсьте HTML-файл
источник
нажмите escape и затем быстро введите следующие комбинации:
источник
1G=G
, Это должно сделать отступ для всех строк в файле.1G
займет первую строку,=
запустит авто-отступ, а финалG
- последнюю строку в файле.источник
1gg=G
:set paste
твой друг, я использую замазку и в итоге копирую код между окнами. До того, как я был включен:set paste
(и:set nopaste
) копировать / вставлять, мне было то же самое.источник
В Vim используйте
:insert
. Это сохранит все ваше форматирование и не сделает автоиндентирование. Для получения дополнительной информацииhelp :insert
.источник
если вы не хотите использовать
:set paste
, щелкните средней кнопкой мышиset nopaste
, вы также можете вставить содержимое буфера обмена:Таким образом, вам не нужно выходить из нормального режима. если вам нужно вставить
+
или*
зависит от того, как вы выбрали текст, см:help quoteplus
.источник
vim-autoformat форматирует ваши исходные файлы, используя внешние программы, специфичные для вашего языка, например, гем "rbeautify" для файлов Ruby, пакет "js-beautify" npm для JavaScript.
источник
Для сложных файлов C ++ vim не всегда получает правильное форматирование при использовании команды
=
filter vim . Поэтому для таких ситуаций лучше использовать внешний форматер C ++, такой как astyle (или uncrustify ), например:Функция Vim '=' по умолчанию использует свой внутренний форматер (который не всегда правильно понимает), но можно также настроить его на использование внешнего форматера, такого как astyle, установив его соответствующим образом, как обсуждалось в этом вопросе .
источник
Для файлов XML я использую эту команду
Вам необходимо установить xmllint (пакет libxml2-utils)
(Источник: http://ku1ik.com/2011/09/08/formatting-xml-in-vim-with-indent-command.html )
источник
Вы можете создать отображение, чтобы сделать это для вас.
Этот файл автоматически сделает отступ для всего файла и все еще будет держать курсор в том положении, в котором вы находитесь:
источник
Для редактора vi используйте: insert. Это сохранит все ваше форматирование и не вставит авто-отступ. Как только вы закончите, нажмите escape для просмотра реального отформатированного файла, в противном случае вы увидите некоторые символы мусора. как ^ я например:
источник
Просто перейдите в визуальный режим в vim и выберите строки сверху вниз после выбора, просто нажмите =, все выбранные строки будут с отступом.
источник
ggvG=
когда ты можешьgg=G
. Какой смысл делать движение видимым? Это относится ко всем действиям, которые предпринимаются.