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)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.