VIM: сместить несколько строк
В PyCharm очень радовала возможность сместить выделенный кусок кода, например – TAB на 4 пробела влево.
Для Ruby никакого IDE не установлено, поэтому – используется vim (с Sublime Next как-то не складывается).
Что бы в нем выполнить аналогичное действие – выполняем:
- v – переходим в режим выделения;
- j N-раз – выделяем необходимое кол-во строк;
- > – что бы сместить вправо ( < – влево).
Вот как это выглядит до и после.
Свойство position
Свойство position позволяет сдвигать элемент со своего обычного места. Цель этой главы – не только напомнить, как оно работает, но и разобрать ряд частых заблуждений и граблей.
position: static
Статическое позиционирование производится по умолчанию, в том случае, если свойство position не указано.
Его можно также явно указать через CSS-свойство:
position: static;
Такая запись встречается редко и используется для переопределения других значений position .
Здесь и далее, для примеров мы будем использовать следующий документ:
Без позиционирования ("position: static"). Заголовок А тут - всякий разный текст.
. В две строки!
В этом документе сейчас все элементы отпозиционированы статически, то есть никак.
Элемент с position: static ещё называют не позиционированным.
position: relative
Относительное позиционирование сдвигает элемент относительно его обычного положения.
Для того, чтобы применить относительное позиционирование, необходимо указать элементу CSS-свойство position: relative и координаты left/right/top/bottom .
Этот стиль сдвинет элемент на 10 пикселей относительно обычной позиции по вертикали:
position: relative; top: 10px;
h2 Заголовок сдвинут на 10px вниз. Заголовок А тут - всякий разный текст.
. В две строки!
Координаты
Для сдвига можно использовать координаты:
- top – сдвиг от «обычной» верхней границы
- bottom – сдвиг от нижней границы
- left – сдвиг слева
- right – сдвиг справа
Не будут работать одновременно указанные top и bottom , left и right . Нужно использовать только одну границу из каждой пары.
Возможны отрицательные координаты и координаты, использующие другие единицы измерения. Например, left: 10% сдвинет элемент на 10% его ширины вправо, а left: -10% – влево. При этом часть элемента может оказаться за границей окна:
h2 Заголовок сдвинут на 10% влево. Заголовок А тут - всякий разный текст.
. В две строки!
Свойства left/top не будут работать для position:static . Если их всё же поставить, браузер их проигнорирует. Эти свойства предназначены для работы только с позиционированными элементами.
position: absolute
position: absolute;
Абсолютное позиционирование делает две вещи:
- Элемент исчезает с того места, где он должен быть и позиционируется заново. Остальные элементы, располагаются так, как будто этого элемента никогда не было.
- Координаты top/bottom/left/right для нового местоположения отсчитываются от ближайшего позиционированного родителя, т.е. родителя с позиционированием, отличным от static . Если такого родителя нет – то относительно документа.
- Ширина элемента с position: absolute устанавливается по содержимому. Детали алгоритма вычисления ширины описаны в стандарте.
- Элемент получает display:block , который перекрывает почти все возможные display (см. Relationships between „display“, „position“, and „float“).
Например, отпозиционируем заголовок в правом-верхнем углу документа:
h2 Заголовок в правом-верхнем углу документа. Заголовок А тут - всякий разный текст.
. В две строки!
Важное отличие от relative : так как элемент удаляется со своего обычного места, то элементы под ним сдвигаются, занимая освободившееся пространство. Это видно в примере выше: строки идут одна за другой.
Так как при position:absolute размер блока устанавливается по содержимому, то широкий Заголовок «съёжился» до прямоугольника в углу.
Иногда бывает нужно поменять элементу position на absolute , но так, чтобы элементы вокруг не сдвигались. Как правило, это делают, меняя соседей – добавляют margin/padding или вставляют в документ пустой элемент с такими же размерами.
Одновременное указание left/right , top/bottom
В абсолютно позиционированном элементе можно одновременно задавать противоположные границы.
Браузер растянет такой элемент до границ.
div 10px от границ
покупка
Как переместить строку вверх / вниз или столбец влево / вправо в Excel?
Если у вас есть два списка данных и теперь вы хотите переместить столбец A вправо в столбец B, как показано на снимках экрана. Как ты можешь это сделать? Теперь я расскажу вам очень простой способ перемещать столбцы вправо / влево или перемещать строки вверх / вниз в Excel.
![]() |
![]() |
![]() |
Переместить столбец влево или вправо с помощью Kutools for Excel
Поменять местами столбцы или строки с помощью Kutools for Excel
Переместить столбец влево / вправо
Есть группа ярлыков, которые помогут быстро переместить столбец.
1. Выберите столбец, который вы хотите переместить, а затем поместите курсор на границу заголовка столбца, пока курсор не изменится на крест со стрелкой.

2. Затем перетащите столбец и нажмите Shift вместе справа от столбца, который вы хотите быть справа от него, вы можете увидеть, что появляется I линия. Затем отпустите клавишу и мышь. Вы можете видеть, что столбец A перемещается вправо в столбец B.
![]() |
![]() |
![]() |
Если вы хотите переместить столбец влево, вы можете выбрать столбец и перетащить его с помощью Shift слева от столбца, который вы хотите оставить.
Переместить строку вверх / вниз
Чтобы переместить строку вверх или вниз, вам просто нужно сделать следующее.
1. Выделите всю строку, которую хотите переместить, и поместите курсор на границу заголовка строки, пока не появится крестик со стрелкой.

2. Затем перетащите строку и нажмите Shift нажмите вместе, чтобы перейти в нижнюю часть строки, в которой вы хотите быть внизу, вы можете увидеть, что появляется II линия. Затем отпустите клавишу и мышь. Вы можете видеть, что строка 2 переходит ниже в строку 5.
![]() |
![]() |
![]() |
Если вы хотите переместить строку вверх, вы можете выбрать строку и перетащить ее с помощью Shift нажмите клавишу вверх в строке, которую вы хотите переместить.
Функции: Вы можете одновременно перемещать несколько соседних строк или столбцов.
Переместить столбец влево или вправо с помощью Kutools for Excel
Если у вас есть Kutools for Excel установлен в Excel, вы можете использовать Navigation функция для быстрого перемещения столбцов влево или вправо или в определенное положение по мере необходимости.
После установки Kutools for Excel, сделайте следующее: (Бесплатная загрузка Kutools for Excel прямо сейчас!)

1. Включите лист, содержащий столбцы, которые вы хотите переместить, щелкните Kutools > Navigation , то в Navigation панели, нажмите Column list tab .
2. в Column list В поле со списком выберите имя столбца, который вы хотите переместить, и удерживайте кнопку мыши, чтобы перетащить столбец в положение, в которое вы хотите переместить.

Теперь колонна перемещена.
Функции: Также вы можете использовать стрелки в Column list вверх или вниз по столбцу.
![]() |
Вверх |
![]() |
Наверх |
![]() |
Вниз |
![]() |
Переместить в конец |
Поменять местами столбцы или строки с помощью Kutools for Excel
Если вы хотите обменять содержимое двух столбцов или строк, вы можете применить Kutools для Exceя Swap Ranges функции.
После установки Kutools for Excel, сделайте следующее: (Бесплатная загрузка Kutools for Excel прямо сейчас!)
Выберите два диапазона (столбцы или строки), нажав Ctrl ключ, затем нажмите Kutools > Диапазон > Swap Ranges . В появлении Диапазоны обмена диалоговое окно, нажмите Ok.



Теперь два выбора поменялись местами.
Как добавить одинаковый отступ (например, 4 пробела) для выбранного множества строк кода Python?
Может, есть соответствующая кнопка/функция в PyCharm или в IDLE?
24th Aug 2018, 3:58 PM
Dmitrii Korottsev
спасибо за ответы, получилось
27th Aug 2018, 7:39 AM
Dmitrii Korottsev
26th Aug 2018, 10:26 AM
Fulcanelly
вообще в sublime так можно: выделить несколько строк и перед одной из них поставить несколько пробелов, после нажать TAB и пробелы продублируются под каждой из выбранных строк
26th Aug 2018, 8:16 PM
Fulcanelly
Может, я непонятно написал. Допустим, у меня есть 1000 строк кода на Python, 500 строк из них нужно объединить в 1 блок (добавить отступы). Как это автоматизировать? Я использую в качестве отступов пробелы. Насколько мне известно, смешивать табуляцию и пробелы нежелательно.
26th Aug 2018, 10:37 AM
Dmitrii Korottsev
Often have questions like this?
Learn more efficiently, for free:










