отступы

и другие vi-подобные редакторы

Модератор: /dev/random

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

отступы

Сообщение deninok »

Друзья, вопрос про Vim.

Есть код наподобие такого:

Код: Выделить всё

void f() {
    DB_query  my_importatnt_query = db->query();
    my_importatnt_query << "SELECT "
                        << "    some "
                        << "  FROM "
                        << "    table "
    // ...
}


Как сделать так, чтобы строки после "SELECT ", имеющие значительный отступ для выравнивания всего запроса, выравнивались как-нибудь автоматически. То есть чтобы я их выделил и дал некую команду, чтобы встали в один ряд с первой строкой. А то табуляцией набирать не очень быстро, особенно если количество строк переваливает за 20.

Я на ютубе в презентации видел такую штуку. Может, кто знает соответствующую команду? Заранее благодарен.
Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: отступы

Сообщение Luinnar »

deninok писал(а):
07.08.2009 12:58
Друзья, вопрос про Vim.

Есть код наподобие такого:

Код: Выделить всё

void f() {
    DB_query  my_importatnt_query = db->query();
    my_importatnt_query << "SELECT "
                        << "    some "
                        << "  FROM "
                        << "    table "
    // ...
}


Как сделать так, чтобы строки после "SELECT ", имеющие значительный отступ для выравнивания всего запроса, выравнивались как-нибудь автоматически. То есть чтобы я их выделил и дал некую команду, чтобы встали в один ряд с первой строкой. А то табуляцией набирать не очень быстро, особенно если количество строк переваливает за 20.

Я на ютубе в презентации видел такую штуку. Может, кто знает соответствующую команду? Заранее благодарен.


Для того чтобы сдвинуть несколько строк одновременно, нужно их выделить, а затем нажать два раза подряд '>' или '<' - в зависимости от того, куда желаете сдвинуть. После того, как сдвинется, можно повторить команду, нажав '.' столько раз сколько нужно повторить.
Можно не выделять строки, а ввести кол-во строк, а затем саму команду (>> или <<).

Кстати, у меня при введении очередной строки (после нажатия Enter) курсор встаёт как раз под началом предыдущего текста ('<< " some"'), так что вроде бы и проблемы-то нет, только если уже существующий код исправлять.
Спасибо сказали:

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: отступы

Сообщение deninok »

(Luinnar) писал(а):Для того чтобы сдвинуть несколько строк одновременно, нужно их выделить, а затем нажать два раза подряд '>' или '<' - в зависимости от того, куда желаете сдвинуть. После того, как сдвинется, можно повторить команду, нажав '.' столько раз сколько нужно повторить.
Можно не выделять строки, а ввести кол-во строк, а затем саму команду (>> или <<).

Спасибо большое.

(Luinnar) писал(а):Кстати, у меня при введении очередной строки (после нажатия Enter) курсор встаёт как раз под началом предыдущего текста ('<< " some"'), так что вроде бы и проблемы-то нет, только если уже существующий код исправлять.

У меня тоже так, если пишу с нуля. Однако проблема именно в работе с уже существующим кодом.
Спасибо сказали: