LINUX.ORG.RU

Горизонтальная сортировка в строке и перемещение элементов без плагинов и с

 , ,


1

3

Как вы сортируете в строке?

Например нужно отсортировать по алфавиту регистронезависимо содержимое элементов в строке:

kokoko if alphabet == "beta, alpha, gamma, delta, zeta, epsilon"
курсор на if, ваши действия по сортировке, чтобы получилось: alpha, beta, delta, epsilon, gamma, zeta?

Как вы перемещаете элементы местами в диспозиции функции?

Например, нужно поменять местами delta и epsilon:

def kokoko(beta=0, delta, epsilon=23)
чтобы получился порядок: epsilon=23, delta, beta=0.

______________________________________________________________________________________

Это очень дешево ( gsi" ) сделать с помощью vim-sort-motion в первом случае, и почти бесплатно с помощью sideways.vim во втором, но меня интересует как гиганты вима делают (делали) это без этих крайне полезных плугинов.

Если вы используете для этих задач отличные плугины от вышеуказанных, просьба указать.

☆

Последнее исправление: vim (всего исправлений: 2)

Если список не большой, то руками.

Иначе (по памяти, вима нет сейчас):

:s/,/,^M/g

visual selection

:sort

gv

:join (не помню есть такое???) либо J (тоже не помню работает ли с выделенным)

habamax ★★★
()
Последнее исправление: habamax (всего исправлений: 1)

Как вы сортируете в строке?

Ни разу не возникало необходимости (или настолько давно/редко, что не помню).

Как вы перемещаете элементы местами в строке?

argtextobj.vim. Им удобно удалять, копировать и вполне сносно перемещать аргументы (при переносе на новую строку не работает, но это довольно редко бывает нужно).

sideways.vim для этого дела пробовал, но не использовал и через время снёс, argtextobj предоставляет больше нужных мне возможностей.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

argtextobj.vim.

он теперь живет здесь, а не по старой ссылке, если что.

при переносе на новую строку не работает

vim-sort-motion умеет.

vim ☆
() автор топика
Ответ на: комментарий от vim

он теперь живет здесь, а не по старой ссылке, если что.

Вот же блин, нафоркают автоматически созданные репозитории. И Инго такой фигнёй страдает.

xaizek ★★★★★
()

Специфичных инструментов под редкие задачи нужно столько, что памяти не хватит. Т.ч. только интеракривные инструменты общего назначения (dWW…p), и/или макросы (o#$%УЧА#$%%$#КОМАНД<ESC>«qdd9999@q).

DonkeyHot ★★★★★
()

исключительный навык однако.

в sam'е (да и у вима вроде штатно есть)

можно через

|внеш_ком

видоизменять выделенный участок.

qulinxao ★★☆
()

А можно пример юзкейса?

p.s. Я делаю сортировку строк по :sort

andreyu ★★★★★
()

Как вы сортируете в строке?

Редко возникающая задача, решаемая штатными средствами(:s/, :sort, :j).

Как вы перемещаете элементы местами в диспозиции функции?

vim-argumentative

salsa ★
()

def kokoko

Иду к параметру 3:

2f,w
Вырезаю до скобки:
dt)
Иду к первому параметру:
T(
Заменяю 1-й на 3-й:
vt,p
Перед скобкой вставляю 1-й параметр
$P

15 букв, интересно, можно короче?

noomorph ★
()

kokoko if alphabet == «beta, alpha, gamma, delta, zeta, epsilon»
курсор на if, ваши действия по сортировке, чтобы получилось: alpha, beta, delta, epsilon, gamma, zeta?

$r,FbsV:s/, /,\r/g<CR>V5k:sort<CR>V5jJkgJ$r"

p.s. у меня «map s i<CR><Esc>»

q11q11 ★★★★★
()
Последнее исправление: q11q11 (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.