Кавычки (QuoteSpace)

Здесь можно сообщить о найденных багах в Far.
User avatar
DrKnS
Posts: 5620
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 302 times

Кавычки (QuoteSpace)

Post by DrKnS »

Latest post of the previous page:

2useven10 wrote:
Wed 11 Sep, 2019 07:52
Смотрины были уже как минимум дважды
Я не видел смотрин без слеша.
Зачем третий раз пытаться всех упаковать в одну коробку?
А мне нравится эта логика. Ещё, например, жестко задано, что панелей только две, а чья-то тонкая натура, возможно, жаждет три. Зачем вы пакуете всех в одну коробку?
Простая настройка позволит каждому выбрать свою.
Руководствуясь этим принципом, таких простых настроек за годы существования проекта наплодили легион.
Я прекрасно понимаю необходимость настройки в том случае, когда желаемое поведение недостижимо другими путями, но конкретно здесь речь о вставке строки в поле ввода определёнными сочетаниями клавиш.
Для изменения поведения определённых сочетаний клавиш в Far с доисторических времён есть универсальное средство - макросы. Каждый уже прямо сейчас, не отходя от кассы, может "выбрать свою" и дописывать после пути хоть слеш, хоть обсценный неопределённый артикль.

Как справедливо заметил buniak_a_h - тема яйца выеденного не стоит. Если вы считаете, что наличие или позиция слеша в дебрях каких-то совершенно гиковских кнопкосочетаний заслуживают аж отдельной настройки, то почему, например, "Esc toggles panels" или "Space selects files" должны реализовываться макросами?

Smitis wrote:
Wed 11 Sep, 2019 10:56
Ещё бы метасимволы (или модификаторы), что бы не вставлялся слеш после !\ и вообще было бы идеально.
А вот это хороший пример случая, когда решение должно быть в Far, т.к., в отличие от кнопконажиманий, метасимволы используются в меню и ассоциациях, куда макросы так просто не засунешь.

Smitis, а если !\ не будет добавлять слеш, но только если сразу после него идёт пробел или конец строки (с кавычками или без)?

User avatar
HaRT
Moderator
Posts: 9444
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 222 times

Кавычки (QuoteSpace)

Post by HaRT »

DrKnS wrote:
Wed 11 Sep, 2019 13:08
если !\ не будет добавлять слеш, но только если сразу после него идёт пробел или конец строки
Как-то это сильно усложняет систему. Может, лучше всё же модификатор? Я готов даже букву предложить и Справку написать. :)
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
DrKnS
Posts: 5620
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 302 times

Кавычки (QuoteSpace)

Post by DrKnS »

HaRT wrote:
Wed 11 Sep, 2019 13:29
Я готов даже букву предложить и Справку написать.
"I'm gonna make him an offer he can't refuse" :)

User avatar
HaRT
Moderator
Posts: 9444
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 222 times

Кавычки (QuoteSpace)

Post by HaRT »

HaRT wrote:
Wed 11 Sep, 2019 13:29
готов даже букву предложить
Похоже, насчёт буквы я несколько погорячился. Использование популярного в именах файлов символа (особенно алфавитно-цифрового) неизбежно будет мешать составлению путей с !\. Поэтому лучше выбрать из символов, запрещённых в именах файлов. Предлагаю < — кому нужно перенаправление <filename сразу после !\, тем не помешает и пробел: exe !\ < filename. А запоминать так: < — это как бы обозначение «забоя», стирания символа \ слева.
@DrKnS, если нет возражений, то Справку допишу позже сегодня.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Smitis
Posts: 1623
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 20 times
Been thanked: 41 times

Кавычки (QuoteSpace)

Post by Smitis »

DrKnS wrote:
Wed 11 Sep, 2019 13:08
не будет добавлять слеш, но только если сразу после него идёт пробел или конец строки (с кавычками или без)?
Можно и так, я бы только добавил, если после него не идёт другой метасимвол, например !\!.!
Или отдельный метасимвол, который действует также, как сейчас, но без слеша. Например, !,\ и !,/ (запятая взята для примера, вроде она ещё не задействована в метасимволах) или !<\ и !</
На счёт модификатора-буквы согласен с HaRT.
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Кавычки (QuoteSpace)

Post by John Doe »

Не надо новых закорючек.

Smitis
Posts: 1623
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 20 times
Been thanked: 41 times

Кавычки (QuoteSpace)

Post by Smitis »

John Doe wrote:
Wed 11 Sep, 2019 14:55
Не надо новых закорючек.
Иначе никак
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Кавычки (QuoteSpace)

Post by John Doe »

Можно примеры, когда никак?
(При том я ключевое слово 'закорючек')

Smitis
Posts: 1623
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 20 times
Been thanked: 41 times

Кавычки (QuoteSpace)

Post by Smitis »

Уточняющий вопрос - под закорючками Вы понимаете добавление новых метасимволов?
Разум когда-нибудь победит.

User avatar
John Doe
Бюрократ
Posts: 12829
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Кавычки (QuoteSpace)

Post by John Doe »

Если тут был бы применим способ с (привычными) модификаторами, я бы и не встревал.
В данном случае закорючку (но привычную) предложили дополнить ещё одной (но уже вовсе непонятной).

Поэтому хотелось бы обойтись без добавлений совсем (учитывая предложение DrKnS).

И если действительно не получится, то подумать над другим решением (добавить можно и не закорючку, а что-то более понятное)

Smitis
Posts: 1623
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 20 times
Been thanked: 41 times

Кавычки (QuoteSpace)

Post by Smitis »

John Doe wrote:
Wed 11 Sep, 2019 15:37
И если действительно не получится, то подумать над другим решением
У меня deja vu. Похоже, что-то такое уже обсуждали. Я бы предложил вообще тогда заморозить метасимволы, ничего больше не менять, в том числе поведение, добавив всего один метасимвол в виде, скажем, !{шаблон}, а в шаблоне уже более естественным образом описывать, что нужно.
Например, !{F} (от full) == !{DPNX} (диск+путь+имя+расширение) == !{d:\p\n.x} (то же, но диск без двоеточия и пр.). Вот такие закорючки были бы намного понятнее.

П.С.
На счёт пути без конечного "\" - всё равно остаётся корень диска, где путь "\" поэтому всё равно путь будет оканчиваться на этот единственный "\"
Last edited by Smitis on Wed 11 Sep, 2019 18:10, edited 1 time in total.
Разум когда-нибудь победит.

makhaon
Posts: 10
Joined: Mon 09 Sep, 2019 11:31
Has thanked: 2 times

Кавычки (QuoteSpace)

Post by makhaon »

buniak_a_h wrote:
Wed 11 Sep, 2019 05:31
Как выяснилось, cmd понимает конструкцию вида "C:\Program Files\Far Manager"\far.exe несмотря на то, что путь продолжается после закрывающей кавычки. И даже пути вида "C:\Program Files\Far Manager"\"Far x64.exe"! Поэтому дискуссия становится какой-то беспредметной.
cmd - может и так. однако многие и я в том числе запускают команды с помощью win+r. оба ваши варианта там не работоспособны
Last edited by makhaon on Sun 15 Sep, 2019 00:13, edited 1 time in total.

makhaon
Posts: 10
Joined: Mon 09 Sep, 2019 11:31
Has thanked: 2 times

Кавычки (QuoteSpace)

Post by makhaon »

Вообще. Очень много месте, где вариант "C:\Program Files\Far Manager"\ не работает:
win+r,
вставка в Open/SaveDialog windows,
вставка в браузер папок,
недавно winmerge не принимал такие пути (сейчас они к счастью тупо фильтруют пути от кавычек, стало сильно удобнее)
любое действие с шеллом винды как я понимаю не принимает такой вариант. cmd.exe разве что не так привередлив.

buniak_a_h
Posts: 1879
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 168 times
Contact:

Кавычки (QuoteSpace)

Post by buniak_a_h »

makhaon wrote:
Sun 15 Sep, 2019 00:25
вставка в Open/SaveDialog
Я, в принципе, согласен, что слэш после кавычек смотрелся странно. Но в этих диалогах и просто кавычки тоже не принимаются. Так что отказ от слэша ситуации не исправляет. Просто надо было делать разные хоткеи для разных вариантов . И такое есть (давно): Alt+Shift+Ins помещает путь в буфер вообще без кавычек, что для вставки Open/Save диалоги подходит идеально. А чтоб не менять привычки всегда можно сделать макрос.
Кстати, не только cmd "терпит" такое написание. Наиболее частое использование у меня - это fc, dbcomp (моя программа, написанная на Харборе) и ExamDiff - все они принимают параметры вида "C:\Users\PC\AppData\Local\Temp\19 09 15\2"\File.Ext, причём в моей программе я специально не обрабатывал кавычки от слова вообще!
Впрочем, это всё беллетристика. Слэш убрали, кавычки оставили. Теперь для слепления пути с именем файла надо нажимать слэш самому - не проблема, если б не привычка. Уже пару раз потерял файл (хотел перенести File.Ext в Dir, а в результате переименовал в DirFile.Ext). А для вставки в ОпенДиалог всё равно ничего не изменилось...

makhaon
Posts: 10
Joined: Mon 09 Sep, 2019 11:31
Has thanked: 2 times

Кавычки (QuoteSpace)

Post by makhaon »

buniak_a_h wrote:
Sun 15 Sep, 2019 01:09
Но в этих диалогах и просто кавычки тоже не принимаются
Это не так :) Вот сейчас попробовал в браузере Crlt+O - "C:\Program Files (x86)\Far Manager" зашло без вопросов.
buniak_a_h wrote:
Sun 15 Sep, 2019 01:09
Теперь для слепления пути с именем файла надо нажимать слэш самому
Ctrl+F в помощь :) Вставляет сразу путь + файл
К слову говоря - можно было бы сделать простую эвристику - если сразу за путем в строку вставляют файл, то добавлять его внутри кавычек. Не думаю, что это такой уж космос по сравнению со всем написанным.
Last edited by makhaon on Sun 15 Sep, 2019 17:16, edited 4 times in total.

buniak_a_h
Posts: 1879
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 168 times
Contact:

Кавычки (QuoteSpace)

Post by buniak_a_h »

makhaon wrote:
Sun 15 Sep, 2019 17:06
buniak_a_h wrote:
Sun 15 Sep, 2019 01:09
Но в этих диалогах и просто кавычки тоже не принимаются
Это не так :) Вот сейчас попробовал в браузере Crlt+O - "C:\Program Files (x86)\Far Manager" зашло без вопросов.
Возможно, зависит от версии виндов.
Поясню. Раньше очень мешали и кавычки, и пробел в конце (по Ctrl+F вставляется). Ругался, но приходилось вычищать... Видимо, с тех пор что-то изменилось: и LibreOffice, и старая Delphi-7, во всяком случае, съедают.
makhaon wrote:
Sun 15 Sep, 2019 17:06
Ctrl+F в помощь Вставляет сразу путь + файл
Вы таки мне это рассказываете? :sarcastic_hand
Ситуация, когда папку надо взять с одной панели, а файл - с другой. А Ctrl+F и Вам раньше бы не помешал: там конечного слэша вне кавычек никогда не было.

Post Reply

Return to “Глюки и баги”