LINUX.ORG.RU

Многие любят ругать cmd.exe, но…

 , , , ,


1

1

У него есть киллер-фича, которая лежит буквально на самой поверхности!

https://pic4a.ru/110/T42.png

Которые из линуксовых эмуляторов терминала такое умеют: выводить выполняющуюся сейчас команду в заголовок? Мы встречали от силы, как такое костылями прикрутить ко внутренней переключалке окон tmux. Может, так умеет ZSH? https://github.com/trystan2k/zsh-tab-title — повод перейти наконец на него с Bash, хехе.

Вообще, интеграция у эмуляторов терминала с шеллами отвратительная. Даже курсор нельзя поставить кликом в произвольное положение, что для портянок-однострочников было бы крайне удобно. Кто первыми реализуют такое — озолотятся.

И заодно — есть под онтопик максимально совместимый аналог dfhl.exe? (А то гонять для этого машину с оффтопиком как-то некузяво, хоть и нагружать основную тоже.) Чтобы автоматически находил дубликаты и сливал их в хардлинки к одному файлу. Желательно даже, чтобы умел сравнивать не все файлы со всеми подряд, что долго и Нам не нужно — а просто zip-ать попарно дерево директорий с деревом директорий, они в целом одинаковые. Проще самим написать, по ходу.



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

выводить выполняющуюся сейчас команду в заголовок

примерно все начиная с xterm.

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

интеграция у эмуляторов терминала с шеллами отвратительная. Даже курсор нельзя поставить кликом в произвольное положение

Это не проблема терминала. Это проблема баша или readline. xterm отдает позицию мыши консольному приложению и в mc мыша вполне работает и перемещает курсор куда ткнул.

dfhl.exe

man hardlink?

sergej ★★★★★
()

zip-ать попарно дерево директорий с деревом директорий, они в целом одинаковые

если я правильно понял слово зипать, то я всю жизнь такое делаю кнопкой F6 в mc, но можно и rsync-ом.

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

Это проблема баша или readline

Ну так других-то не завезли. Или завезли? Есть инновационный (и ещё более тормозной, чем ZSH) шелл на ncurses?

man hardlink?

Что «man hardlink»? Вы вопрос-то читали? Задача более высокого порядка кагбэ, надо аккуратно дедуплицировать целые деревья директорий, со сравнением.

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

Не-а, zip-ать с целью получения пар для сравнения. Вместо пермутации.

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

Это аж в дриснятке завезли.

И это привносит очевидную проблему перешибания ^C в никсовом софте.

Кстати, давеча одну прогу под DOSBox шатали, а в ней Ctrl+Break не работал ни в какую, приходилось грохать весь DOSBox, грусть-пичоль. Придётся, видимо, опять конфиг шатать, как для Ctrl+F9 когда-то. А ведь раньше вроде работало.

Вообще, совмещение функциональность Ctrl и Cmd на одной кнопке — это огромная родовая травма IBM’овского десктопа и слизанных с него шиндузятного и freedesktop’ного. В отличие понятно от какой ОС, где спокойно можно жмякнуть ^N в любой графической (!) программе, не уводя копыта с основной позиции, и курсор переместится вниз — что никак не мешает хоткеям на ⌘N.

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

Не знаю.

Я просто обратных уже видел. Этакий переходец в линуксы

почему в Ubuntu не работает CTRL+C на копирование? в терминале Windows 10 работает.

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

Нигга, разберись сначала в вопросе!

# ~/.zshrc

# Terminal title
case $TERM in
    *xterm*|rxvt|rxvt-unicode|rxvt-256color|rxvt-unicode-256color|(dt|k|E)term)
        precmd () { 
            print -Pn "\e]0; Terminal: %~\a" 
        }
        preexec () { 
            print -Pn "\e]0;$1 %~\a" 
        }
    ;;
    screen)
        precmd () {
            print -Pn "\e]83;title \"$1\"\a"
            print -Pn "\e]0;$TERM - (%L) [%n@%M] [%~] XYZ\a"
        }
        preexec () {
            print -Pn "\e]83;title \"$1\"\a"
            print -Pn "\e]0;$TERM - (%L) [%n@%M] [%~] XYZ ($1)\a"
        }
    ;;
esac

повод перейти наконец на него с Bash

Баш тоже так умеет, но я не разбирался – без надобности.

https://github.com/trystan2k/zsh-tab-title

Советую не использовать oh-my-zsh – это тормозное bloatware-говно. Настроить zsh не так сложно как кажется.

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

Меня недавно на /b/ не пустили. Но я не обиделся. На родном ЛОРчике бредок ещё забористее стал.

rupert ★★★★★
()

У тебя че, мак оказывается? По теме - ээ,все? Konsole точно умеет, qterminal умеет, xterm вроде даже умеет.

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

Советую не использовать oh-my-zsh – это тормозное bloatware-говно.

А что там блотварного? Просто набор плагинов, в основном, для автокомплита, я для себя правда полезных особо не нашел, но вроде ничего там такого.

Dog ★★★
()

выполняющуюся сейчас команду в заголовок?

да запросто - urxvt умеет такое, только нахера эти pаголовки нужны?

new_window pixel 1
new_float pixel 1
anonymous
()
Ответ на: комментарий от Dog

oh-my-zsh – это отличный способ получить тормоза неизвестно откуда. Я его несколько месяцев использовал и недавно отказался – терминал стал работать гораздо отзывчивей.

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

только зачем эти заголовки нужны?

Когда несколько окон терминал и ты переключаешься альттабом. Без заголовков у тебя будет просто несколько окон с заголовком Terminal. С заголовками: nvim, htop, nethogs, mc.

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

Не достижимый уровень для линуксов.

В Haiku так из коробки с самого начала потому что для сочетаний в консоли и в GUI используются разные кнопки (Ctrl+C: завершить команду, Alt+C: скопировать).

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

Может, так умеет ZSH? https://github.com/trystan2k/zsh-tab-title — повод перейти наконец на него с Bash, хехе.

Давно пора.

Вообще, интеграция у эмуляторов терминала с шеллами отвратительная.

cmd.exe — это графический вариант COMMAND.COM, со всеми вытекающими.

Даже курсор нельзя поставить кликом в произвольное положение, что для портянок-однострочников было бы крайне удобно. Кто первыми реализуют такое — озолотятся.

А что, в VT100 можно было? ☺

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

Можно xatk юзать тогда в заголовке окна хоткей для переключения на него, для всех окон а не только терминала

anonymous
()

Которые из линуксовых эмуляторов терминала такое умеют: выводить выполняющуюся сейчас команду в заголовок?

alacritty и kitty.

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

cmd.exe — это графический вариант COMMAND.COM, со всеми вытекающими.

4.2. cmd.exe это командный интерпретатор, тоже что и Bash и т.п.. Никакой графики там нет. Окно консоли встроено в системный тулкит и его может открыть любая программа через соответствующее API или флаги в исполняемом файле.

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

На лице очень редкий уровень говноедства.

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

вот вместо этой традиционной фанатской глупости, мог бы написать как

открываю терминал в линуксах, и что бы по ctrl+с работало копирование. и запустив приложение можно было его прибить по ctrl+c

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от fernandos

4.2, хотя чего ещё ждать от вас.

Да пусть постит.
Понимаете, это его радость и ИМХО не нужно ее у него отбирать.
Тем более, что его тред как бы и не «тупняк».
Ну в а его задиристось от того, что у него такой характер …

anonymous
()
Ответ на: комментарий от Im_not_a_robot

Пока вайланд не допилили до такого состояния чтоб не вылазили неудобные шпильки каждый раз как его пользуешь иксы будут живы со всеми своими плюшками. А там еще новый убер пупер протокол вместо вайланда придумают будут его пилить и иксы еще пару десятков лет побудут ;)

anonymous
()
Ответ на: комментарий от X512

cmd.exe это командный интерпретатор, тоже что и Bash и т.п..

У DOS-like был COMMAND.COM, cmd.exe — его последователь. Но Windows не умеет (точнее не хочет) выполнять команды cmd.exe в фоне.

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

вот вместо этой традиционной фанатской глупости

Нет, я на неё отвечал.

мог бы написать как

Как шорткаты менять?

открываю терминал в линуксах, и что бы по ctrl+с работало копирование. и запустив приложение можно было его прибить по ctrl+c

То есть чтобы нельзя было копировать вывод работающего приложения. Очень удобно, действительно.

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

Это не проблема readline. Он умеет вызывать функцию bash'а на последовательность, отдаваемую xterm'ом. Нужно только пилить скрипт на bash, который переведёт позицию курсора в окне xterm в позицию курсора в строке bash и установит её в переменную READLINE_POINT.

Здесь вот полурабочий скрипт: https://github.com/tinmarino/mouse_xterm

Но как-то tinmarino не похож на озолотившегося и не пилит скрипт :) Большинству пофиг на однострочники, а другие выучили Alt+b, Alt+f для перемещения по словам.

А главная проблема, что если мышь будет двигать курсор, то ломается выделение текста (нужно зажимать Shift), что неудобно.

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

нельзя было копировать вывод работающего приложения.

а точно, что-то не подумал. Потыкал как-то палочкой, а про это не сообразил проверить. 🤨

А сейчас не могу скачать - забанили. Полез Windows 11 пощупать, а там запасная почта старая, сказали на месяц тебя посылаем подальше. Опять двадцать-пять на эту тему

https://tema.livejournal.com/1765417.html

В любом случае. Нормальная работа с шорткатами как в macOS в линуксах не достижима. CMD+C и CTRL+C. Есть некоторые костыли. Но нормального уровня нет.

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

Ну вот начинается то, о чем я давеча писал. Луддизм уже начал приводить к заметной деградации…

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

cmd.exe это командный интерпретатор, тоже что и Bash и т.п.. У DOS-like был COMMAND.COM, cmd.exe — его последователь

Тебе про Фому, а ты про Ерёму. Это все равно, что сравнивать xterm и bash.

Речь не о самом шелле, а о штатном хосте консоли, который в винде никак не привязан к cmd.exe, наоборот cmd.exe или любое другое приложение вызывает этот хост.

anonymous
()

выводить выполняющуюся сейчас команду в заголовок

повод перейти наконец на него с Bash

Мне кажется, что это неискренне.

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

В Windows ещё копировать по CTrl + C можно

Не прошло и сколько лет? 30? Сколько себя помню, в убогом cmd.exe чтобы скопировать выхлоп в буфер обмена нужно было выделять его мышкой и жамкать Enter.

Не достижимый уровень для линуксов.

Непонятно почему вообще отправку сигналов SIGTSTP (Ctrl+Z), SIGINT (Ctrl+C) в эмуляторах терминала на Linux прилепили на конфликтующие с привычными всем Copy-Paste шорткатами, которые были разработаны в Mac OS, популяризированы виндой и потом заимствованы KDE и GNOME.

Что мешало сделать отправку сигналов через Ctrl+Shift+Z, Ctrl+Shift+C? Диды UNIX’оиды?

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

Давай уточню - ты хочешь повесить два разных действия на одну и ту же комбинацию клавиш?

Костыль с «выделить» в cmd.exe не в счет - это другой режим, это задача эмулятора терминала, а не шелла. Если такого в Linux никто не написал - значит видимо «очень нужно», ага.

// традиционная шутка про времена настоящих мужиков, которые пишут драйвера сами

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

Сколько себя помню, в убогом cmd.exe чтобы скопировать выхлоп в буфер обмена нужно было выделять его мышкой и жамкать Enter.

Ну теперь его можно выделять мышкой и жамкать на Ctrl-C - прогресс, ага :-/

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

Давай уточню - ты хочешь повесить два разных действия на одну и ту же комбинацию клавиш?

я хочу, чтобы это нормально работало.

Выше уже написано, что в macOS есть нормальное на CMD+C и CTRL+C и в итоге всё отлично и предсказуемо работает (за исключение малого количества кривого софта с линуксов, которые делаются по остаточному принципу на macOS - типа GIMP).

А про Windows уже сказано:

То есть чтобы нельзя было копировать вывод работающего приложения. Очень удобно, действительно.

Это я не посмотрел - не знаю что в этом случае будет, опять так себе получается…

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

с привычными всем Copy-Paste шорткатами, которые были разработаны в Mac OS

В macOS же со времён друидов CMD+C, что там в Windows налепили копирование на CTRL+C и в линуксах скопировали - это проблема вторых.

Не прошло и сколько лет? 30?

Это да. Так раньше, смешно сказать - окно cmd.exe даже растянуть в ширину нельзя было. И это во времена не такой далёкой Windows 7. Но взялись же, прекратили клей нюхать, и результат виден.

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