LINUX.ORG.RU
 
xintrea

[Midnight Commander] [KDE4] Кто-нибудь смог настроить работу выделения по Shift+Стрелки?


0

1

Здравствуйте!


Несколько лет я потратил на то, чтобы разобраться, как в Konsole KDE3 в редакторе MC заставить работать выделение по Shift+Стрелки. Статья о том как это делать:

http://forum.ubuntu.ru/index.php?topic=67387.0

С переходом на Debian Squeeze пришлось распрощаться с KDE3 и начать пользовать KDE4. Новая Konsole устроено по-другому, и конечно, выделение по Shift+Стрелки в редакторе MC не работает.

Я попытался настроить Konsole через Настройка -> Настроить профиль -> Клавиатура -> Именить. И, так же как и в KDE3, я попробовал там изменить строки:

Up+Shift-AppScreen \EO2A
Down+Shift-AppScreen \EO2B
Вправо-влево пока не трогал

Сохранил конфигурацию, перезапускаю Konsole - и никакого толку. Shift+Стрелки не работат для выделения в редакторе.


Вопрос. У кого-нибудь получилось настроить Konsole так, чтобы в редакторе MC заработало выделение по Shift+Стрелки?

НАУЧИ КОМПЬЮТЕР ВАРИТЬ КОФЕ

управление электрическими цепями с помощью компьютера
лучший подарок для техногика; только открытые программы
http://www.unicontrollers.com/products/unc01x

[#]  

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

***** ()
[#] Ответ на: комментарий от akk 26.01.2011 9:32:43  

>> Зачем тебе mc?

зачем вообще линукс ?

***** ()
[#]  

Не знаю, что у вас за mc такой особенный, но у меня ни в terminal, ни в "голой" консоли shift+стрелки ничего не делают.

Вы уверены, что в mc такое вообще есть?

**** ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 9:44:03  

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

***** ()
[#] Ответ на: комментарий от kto_tama 26.01.2011 9:38:40  

Будь не Ъ, по ссылке-то сходи, где этот клоун возносит фар под вайном, а mc втаптывает в грязь. Вот я и спрашиваю: что, уже фар под вайном не работает? Или игрушка надоела, захотелось новой?

* ()
[#] Ответ на: комментарий от kto_tama 26.01.2011 9:48:12  
>>-----Цитата---->>

терминал, в котором обычно запускается мц, перехватывает обработчик шифта, да так, что до него уже не достучаться

<<-----Цитата----<<

Если этот "обработчик" "перехватывает" даже голая консоль, значит, все-таки, в mc такой "фичи" нет. Или же надо ставить "наисвежайшую наилучшайшую" версию.

**** ()
[#]  

Господи! Я плакал! Все работает, просто абсолютно все!! Без всяких плясок с бубном! И какнадо!!!111 Всего не перечислишь, вот только то, что пишу навскидку:

- Работает выделение F3.
Привет Far с его тупыми Shift+Стрелками, и бесконечное построчное перелистывание



P.S. Пользую joe как системный, vim/kate для программирования :)
P.P.S. MC-edit не люблю за его гуявость :) и отсутствие командного режима :)

*** ()
[#] Ответ на: комментарий от Jetty 26.01.2011 13:09:15  
xintrea

Я бы и продолжал пользоваться FAR-редактором, если бы в KDE4 не разломали работу буфера обмена с WineConsole. Нахрен бы мне этот встроенный в MC редактор сдался. Но с переходом на Squeeze его четверокедами жить стало намного сложнее.


Кароче, тут ни одного специалиста нету, одни клоуны. Никто даже не знает, что в MC есть классическое выделение по Shift+Стрелки.

И по ссылкам никто не ходит, где русским языком написано, как настроить Konsole в KDE3 чтоб Shift+Стрелки заработали.

* ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 9:51:22  
xintrea

> Если этот "обработчик" "перехватывает" даже голая консоль, значит, все-таки, в mc такой "фичи" нет. Или же надо ставить "наисвежайшую наилучшайшую" версию.

Этой "фиче" уже десять лет, а вы все про нее не знаете. В чистой консоли (в Text Mode) работает на ура.


Кстати, у меня получилось настроить выделение по Shift+Влево и Shift+Вправо. Для этого в меню Konsole "Настройка -> Настроить профиль -> Клавиатура -> Именить" добавил строки:

Left+Shift \EO2D
Right+Shift \EO2C

Но это только половина дела. Вторая половина дела, а именно выделение Shift и стрелками вверх-вниз не работает, хотя по образу и подобию прописал:

Up+Shift \EO2A
Down+Shift \EO2B

(А комбинации Up+Shift-AppScreen и Down+Shift-AppScreen вообще удалил).


Вот спрашивается, какого хрена Shift+Влево/Вправо работают, а Shift+Вверх/Вниз - нет?

Я излазил весь KDE4, чтоб проверить не забиндена ли коминация Shift+Вверх/Вниз кедами. Нигде такой комбинации не используется, во всяком случае, нигде в настройках клавиатуры и событий её нет. Значит, эта комбинация должна быть свободна, и она должна пропихиваться в терминал. Почему этого не происходит, понять не могу.

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 14:53:43  

У меня mc 4.7.0-pre2, в консоли Shift+Влево и Shift+Вправо ничего не делают, то же самое и в terminal. Так же не работают Shift+Вверх/Вниз.

**** ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 14:57:36  

> 4.7.0-pre2

Эхехехе...

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 14:36:44  

Вывод же очевиден. Если вы не можете использовать доступный функционал ОС, то Вам необходимо сменить ОС :) Так же при смене ОС Вам не надо будет управлять ОС либо ее функционалом. Она это сделает за Вас.

P.S. При полнейшем отсутсвии знаний о предмете, решение проблемы заняло 1-2 минуты:

http://s55.radikal.ru/i150/1101/11/0c8a5389cb59.png

*** ()
[#] Ответ на: комментарий от Jetty 26.01.2011 15:07:30  
xintrea

> P.S. При полнейшем отсутсвии знаний о предмете, решение проблемы заняло 1-2 минуты:
> http://s55.radikal.ru/i150/1101/11/0c8a5389cb59.png

И что? Я написал выше, что "комбинации Up+Shift-AppScreen и Down+Shift-AppScreen вообще удалил".


Вы хотите сказать, что у вас в MC работает выделение по Shift+Вверх/Вниз? Если работает, то выложите пожалуйста на paste.org.ru содержимое файла ~/.kde/share/apps/konsole/default.keytab.


Если первая строка этого файла

keyboard "Типовий (XFree 4)"

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

* ()
[#] Ответ на: комментарий от akk 26.01.2011 15:03:09  
>>-----Цитата---->>

Эхехехе...

<<-----Цитата----<<

Это к чему? Самая свежая версия - 4.7.5, так что, никаких хехе :)

**** ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 9:44:03  
KRoN73

>Вы уверены, что в mc такое вообще есть?

Ткнулся в первый открытый mc (CentOS 5.5 открытый по ssh в gnome-terminal под Ubuntu) - Shift+стрелки работают.

Глянул на mc/Gentoo и дальше также, -> ssh -> gnome-termianl/Ubuntu - тоже работают.

Ничего не настраивал, всё по дефолту.

***** ()
[#] Ответ на: комментарий от akk 26.01.2011 9:48:28  

Я бы не помогал этому гражданину -- он с упорством маньяка тянет дурные привычки из винды в линукс. Место того, чтобы включить режим выделения в начале нужного блока и просто поиском найти его конец, он предпочитает класть кирпичи на Shift-Down и идти пить чай, прежде чем его любимый Far долистает до нужной точки.

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 14:36:44  
KRoN73

>где русским языком написано, как настроить Konsole в KDE3 чтоб Shift+Стрелки заработали.

Ага, как обычно. Когда в KDE надо настраивать, в Gnome просто работает :)

***** ()
[#] Ответ на: комментарий от KRoN73 26.01.2011 15:55:26  
xintrea

> Ткнулся в первый открытый mc (CentOS 5.5 открытый по ssh в gnome-terminal под Ubuntu) - Shift+стрелки работают.
> Глянул на mc/Gentoo и дальше также, -> ssh -> gnome-termianl/Ubuntu - тоже работают.

> Ничего не настраивал, всё по дефолту.


Видимо значит либо KDE4 тупит, либо Konsole.

По неизвестными причинам, в терминал не пропихиваются символы Shift+Вверх/Вниз. Еще бы понять почему. Или хотя бы какой-нибудь программой посмотреть, лезут ли в консоль эти символы или нет.

* ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 15:58:07  
xintrea

> А какая версия mc?

Любая, начиная с 4.3.x

* ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 15:58:07  
KRoN73

>А какая версия mc?

Под CentOS - 4.7.5
Под Gentoo - 4.7.4-r1

***** ()
[#] Ответ на: комментарий от xintrea 26.01.2011 16:04:34  

Ну, не знаю почему, но у меня не работает.

**** ()
[#] Ответ на: комментарий от xintrea 26.01.2011 16:03:26  
xintrea

Ага, значит в Konsole клавиши Shift+Up/Down используются для прокручивания истории терминала. И нигде при этом не настраиваются.

Вывод - эти сочетания за каким-то хреном захардкорили где-то в глубинах Konsole. Форменный идиотизм.

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 16:19:14  

Возможность выделения SHIFT+стрелки добавил il_smind в одном из 4.7.0-pre* (не помню точно).

У меня тоже konsole/KDE4, я не осилил как настроить выделение с шифтом; тоже подозреваю, что захардкодено в эмуляторе терминала. Лезть в исходники konsole откровенно лень, тем более, что для меня более привычно выделение по F3. А выделение стрелками пытался настроить из интереса. Не получилось, плюнул - и по старинке... :)

В остальных эмуляторах и в голой консоли выделение стрелками работает.

**** ()
[#] Ответ на: комментарий от Slavaz 26.01.2011 16:58:33  

>> Для этого в меню Konsole "Настройка -> Настроить профиль -> Клавиатура -> Именить" добавил строки:

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

***** ()
[#] Ответ на: комментарий от Slavaz 26.01.2011 16:58:33  
>>-----Цитата---->>

для меня более привычно выделение по F3

<<-----Цитата----<<

F3 же - посмотреть содержимое файла.

**** ()
[#]  
ss_ash

я обычно insert'ом выделяю, shift+стрелки не нужны

* ()
[#] Ответ на: комментарий от kto_tama 26.01.2011 17:09:29  

>ну вот нафига это надо ?
>выделение должно работать по умолчанию, без шаловливых ручек

>если оно где-то работает, где-то нет - значит, код мц кривой


Гкм.. Вы вообще в курсе проблемы с konsole?
mc вообще не получает даже намёка на нажатие клавиш. Говоря по-другому, konsole перехватывает shift+стрелки на себя, даже не пытаясь сообщить об нажатии всем запущенным внутри приложениям (будь то mc, cat, bash и т.д.).

Теперь вопрос: как именно кривой код мц должен выпрямиться, чтобы читать никогда не передаваемые ему сочетания клавиш? libastral не предлагать - я не знаю где домашняя страничка этого проекта с рабочей версией.

**** ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 17:12:23  

> F3 же - посмотреть содержимое файла.
в редакторе значения функциональных клавиш меняются.

**** ()
[#] Ответ на: комментарий от Slavaz 26.01.2011 19:12:36  
xintrea

Кстати, где-то читал, что в MC нынче можно перенастраивать все сочетания клавиш. Но нигде в интерфейсе такого режима не нашел. И в папке ~/.mc не нашел ни одного файла настроек сочетания клавиш.

Как вы это делаете? Мне нужно поменять Копи-Пасте комбинации с Ctrl+Ins/Ctrl+Del на более привычные Ctrl+C/Ctrl+V. Это возможно, или у вас как и в Konsole захардкорены комбинации?

* ()
[#] Ответ на: комментарий от Slavaz 26.01.2011 19:12:36  

Тьфу ты, а я пытаюсь файлы выделять :) В редакторе - да, работает shift+влево/вправо. Жаль, shift+вверх/вниз не работает.

**** ()
[#] Ответ на: комментарий от Eddy_Em 26.01.2011 15:40:18  

Между 4.7.0-pre2 и 4.7.5 дистанция огромного размера. По времени -- это больше года. За этот период многое изменилось.

* ()
[#]  

Вообще непонятно, зачем нужен редактор mc. Лучше vim по дефолту поставить - он же удобнее.

* ()
[#] Ответ на: комментарий от frpaul 26.01.2011 21:17:06  
xintrea

> Лучше vim по дефолту поставить - он же удобнее.

Бхухаха-кхе-кхе я аж подавился.

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 19:28:42  

> Кстати, где-то читал, что в MC нынче можно перенастраивать все сочетания клавиш.
в /etc/mc/mc.keymap

**** ()
[#] Ответ на: комментарий от Slavaz 27.01.2011 0:06:25  
xintrea

> в /etc/mc/mc.keymap

Хм, у меня нету такого файла. Что нужно сделать чтоб он появился, какое содержимое у него должно быть?

MC 4.7.5.

* ()
[#] Ответ на: комментарий от xintrea 27.01.2011 0:14:20  

странно, что нет файла... а с какими ключами собирался mc? Может, sysconfdir был переопределён?

**** ()
[#] Ответ на: комментарий от Slavaz 27.01.2011 0:20:22  
xintrea

> странно, что нет файла... а с какими ключами собирался mc? Может, sysconfdir был переопределён?

./configure --prefix=/opt/mc_4_7_5 --enable-vfs-smb

* ()
[#] Ответ на: комментарий от xintrea 27.01.2011 0:47:20  

Очевидно что путь будет относительно твоего prefix-а (/opt/mc_4_7_5/etc/mc/mc.keymap).

()
[#]  
Dmitry_Sokolowsky

Чего тебе не хватает в nano? Прстой, понятный, удобный редактор. Не перегружен фичами, но для редактирования конфигов то, то надо.

*** ()
[#] Ответ на: комментарий от iNode 27.01.2011 7:49:37  
xintrea

> Очевидно что путь будет относительно твоего prefix-а (/opt/mc_4_7_5/etc/mc/mc.keymap).

А почему он автоматом в ~/.mc не скопировался?

* ()
[#] Ответ на: комментарий от Slavaz 27.01.2011 0:20:22  
xintrea

Вопрос возник по формату файла mc.keymap.

Что имеется в виду, если в одной строке через символ ";" указывается несколько комбинаций? Пример:

EditBackSpace = backspace; ctrl-h

";" - это символ начала комментария или ";" используется для определения альтернативных комбинаций?

* ()
[#] Ответ на: комментарий от xintrea 26.01.2011 21:33:45  

>Бхухаха-кхе-кхе я аж подавился.

Смех означает "я попробовал и не осилил"?

* ()
[#] Ответ на: комментарий от frpaul 28.01.2011 1:22:28  
xintrea

> Смех означает "я попробовал и не осилил"?

Это означает, что я вижу уродство интерфейса VIM и понимаю, что таким интерфейсом пользоваться противопоказано. В редакторе FAR есть интерфейс. В VIM его нет как понятия.

Многие люди, которые пользуют VI/VIM/Emacs считают, что они круты, что осилили это издевательство над здравым смыслом. Я, как пользователь консольных редакторов еще на Радио-86РК, отредактировавший в них не один мегабайт кода, ответственно заявляю: на ресурсах, доступных VI/Emacs 30 лет назад, нельзя было сделать более ублюдочных программ, чем VI с Emacs-ом.

VI/Emacs - это апофеоз маразма проектировщиков интерфейса. Точнее, проектированием интерфейса в них никто не занимался вообще и никогда.

* ()
[#] Ответ на: комментарий от xintrea 27.01.2011 23:43:26  

точка с запятой после знака равно - это разделитель. несколько вариантов.

**** ()
[#] Ответ на: комментарий от xintrea 28.01.2011 2:47:46  

>>В редакторе FAR есть интерфейс. В VIM его нет как понятия.

А, понятно, - религиозные взгляды. Ну, с этим не поспоришь.

* ()
[#] Ответ на: комментарий от frpaul 28.01.2011 17:02:16  
xintrea

>> В редакторе FAR есть интерфейс. В VIM его нет как понятия.

> А, понятно, - религиозные взгляды. Ну, с этим не поспоришь.


Нет дорогой, тут наука а не религия. Я понимаю, что вы книжки про интерфейсы человек-машина ни разу в руках не держали. А исследования активно шли и идут с 60-х годов, и если бы вы показали интерфейс VI кому-нибудь, кто занимается данной проблематикой, у человека был бы культурный шок.

Кстати, вернёмся к нашим баранам.

Я расковырял код Konsole, и нашел, что там действительно захардкорена обработка клавиш Shift+Up, Shift+Down, Shift+PgUp, Shift+PgDn. Причем захардкорено прямо в классе рендера TerminalDisplay.

Я себе уже исправил, у меня выделение стало работать. Чуть пожже напишу что нужно сделать для исправления.

* ()
[#] Ответ на: комментарий от xintrea 29.01.2011 0:14:32  

Зачётно. А что теперь стало на скроллинг истории? Или просто получилось, что скроллинг отрубился?
Если отрубился, то надо будет думать, чем заменить хоткеи (может, даже сделать более прямо с чтением профиля), ибо не примут девелоперы такой патч. Скажут, что регрессия :(

**** ()