New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
как убрать префикс вида ssh://host #326
Comments
ведь не было же этого в WinSCP - это был правильно сделано, сейчас просто умучил плагин, объясню ситуацию - часто эти пути используются в консолях, приходятся вырезать каждый раз этот префикс. |
Самое простое - Lua-скрипт ищущий позицию первого вхождения например /var и делающий clip(clip(tostring( subst(pos,lшngth))); |
Спасибо. А этот косяк в плагине происходит или в самом FAR3? Если в плагине - то его пересобрать можно. Я так понимаю что в плагине. Приходится FAR 1.70 использовать или 2.0 где WinSCP работает. Lua скрипты я не писал, я думаю это тернистый путь, с учетом того куда пошел Far3. Все настройки раньше в реестре были - теперь в базе. Раньше можно было настройки плагинов руками редактировать в текстовых файлов - убрали в базу, чтобы осложнить жизнь с FARом. Не соображают. Единственное чем FAR3 лучше FAR1.70 это юникод редактором. Не нужно заниматься перекодировкой. Но больше в нем ничего не сделано лучше. Время потрачено на FAR3 много, а результат таков, что мне вот лично - нельзя даже перейти на 3.0 спустя 10 лет после его "запила" и "стадии активной поддержки" |
|
WinSCP возвращает путь относительно серверного рута. Т.е. если вы находитесь в папке /home/VicktorVG и в ней есть файл text.txt то если вы установите выделение Far на файле text.txt и нажмете кнопку Ctrl + F то у вас в строке внизу - в пути появится /home/VictorVG/text.txt и затем вам нужно нажать Ctrl+C чтобы путь файла оказался в буфере обмена. |
Если шуткой - то кто фар вообще в виндовсе сейчас использует, это давно популярное приложение в линуксе. А если чуть более серьезно - не будем изобретать "новую культуру" линукс был есть и будет и то как он конфигурируется культура его настройки весьма правильна и стоит её позаимствовать. Весть линукс сделан так чтобы было просто, быстро и понятно его настраивать. Для этого в частности используются обычные текстовые файлы и это позволяет быстро профессионалам работать с системой. В этой культурной среде был сделан первый FAR , это было правильное решение. Вы понимаете когда у вас унифицирванный конфиг - когда все находится в файловой системе то время которое вам необходимо чтобы делать настройки серьезно снижается. Вам нужен всего лишь текстовый редактор для настройки всех сервисов и систем. Вам не надо каждый раз думать как настроить эту программу как ту. В Виндовсе файловую систему фактически перенесли в реестр. Зачем они так сделали - это другой вопрос, но раньше многие плагины фара настраивались так же в текстовых файлах. И это было удобно, понятно, но сейчас куда пойти чтобы настроить плагин, нужно свершить множество действий, использовать специальные программы, плагины... ну это фантастика, фантастика что у нашего разработчика в голове как он может так взять и испортить саму концепцию идеального продукта. |
У меня просьба - можете эту опцию добавить - убрать этот префикс - сделайте NetBOX лучше ну невозможно с ним работать с путями файла, это очень медленно вырезать эти префиксы, проще его вообще не использовать. WinSCP то же самое все делает. В Фаре3 есть хорошая поддержка кодировок, которой нет в 1.70, и хотелось бы перейти на Far3 но WinSCP не работает в нем а NetBOX делает так что ваша работа будет умножена на 15%, будете постоянно префиксы очищать после Ctrl-F. Тут конечно много есть решений - но я предпочитаю 1.70 Фар и WinSCP плагин. Вы сами попробуйте, вы наверное этой клавиши не знали Ctrl+F - это же одна из самых нужных опций в фаре. Можно возвращаться на пути, можно использовать в других программах, ну это пожалуй самая нужная опция фара. И нетбокс её отменил и ради чего - чтобы зачем то в буфере оказалась эта чушь ssh://имяпользователя:пароль@имясервера:порт/ где этот путь использовать? Кому он нужен? Допустим у вас буфере после Ctrl-F + Ctrl + C ssh://имяпользователя:пароль@имясервера:порт/text.txt и что? И что с этим делать? Ну допустим даже вы куда то вставите что понимает ssh:// и что этому что то делать с этим файлом? Он его исполнить должен или что - вычитать содержимое, зачем... кому это нужно. Глюкало какое то. |
Фар должен иметь обычный конфиг файл far.conf в котором все его настройки, плагины такие же файлы имяплагина.conf и всё не нужны эти реестры, базы данных, открыли в редакторе файл - изменили - дали команду фару far:reload и всё. Просто, быстро, понятно. Всё что нужно это один единственный плагин дописать который бы мог парсить настройки из конфигов. И дальше свобода, в редакторе фара открываете файл far.conf в нем вносите изменения делаете far:reload в командной строке. В текстовом файле настроек - комментарии, читаешь - меняешь. Очень удобно. |
Во первых WinSCP возвращает не URL (Uniform Resource Locators, RFC1738), а UNC (Uniform Naming Convention) путь в модифицированной схеме FILE (см. RFC1738 стр. 17): По поводу конфига - он "обычный", только в качестве контейнера Far Team выбрала не текст, а быструю БД SQLite3 которая сегодня стала стандартом "де факто" для тех приложений которые вынуждены оперировать большим количеством параметров. Если у вас несколько параметров их можно быстро найти в текстовом списке, а если их много, то просмотр текста даже используя алгоритм в-tree займёт намного большее чем обращение к индексированной БД время, хотя для пользователя если он хочет наглядно увидеть настройки текст удобнее т.к. не нужно изучать и после использовать инструменты чтения-модификации БД. |
Но к счастью, хорошие программы пишутся исходя из здравого смысла а не стандартизации. Вот, как разработчик, вы видите смысл в копировании по Ctrl + F всего префикса? Где это может пригодиться? Зачем это нужно? В этом нет никого практического смысла, это мешает работе в NetBOX и в меньше мере конечно, делает NetBOX более опасным. Для меня это очевидно. И для разработчиков WinSCP это было 20 лет назад тоже очевидно, спустя 20 лет, NetBOX не понимает зачем это было сделано. Ну добавьте пожалуйста опцию чтобы это бессмыслица в контексте работы нетбокса в начале вырезалась. Все же код небокса это WinSCP это не совсем ваш код, ради уважения к рассудку разработчиков верните обратно функционал. Спасибо заранее за ваш труд. |
Знаете, в технике есть такое понятие "Стандарт надо соблюдать, а если он устарел, то он пересматривается, но так чтобы не ломать работающее!". В вашем случае вам лично мешает стандарт, значит он не нужен! |
я бы прислушался к этому если Россия была законодателем технических стандартов, это ошибка следовать стандартом, нужно делать удобные интерфейсы и программы, так чтобы они требовали минимум времени для работы с ними, и это и есть стандарт - оптимизация интерфейса по времени работы с ним, а все остальное - вторично. Просто это станет новым стандартом) Ну ладно а что тут говорить, будем в 1.70 сидеть или - пожалуйста git clone и можно это поправить, я так понимаю FAR получает список файлов на панели а панель заполняется плагином, все что нужно это убрать префикс из панели и всё будет работать как раньше. Плагин же не может этот URL в SSH сервер пихать значит он где то его обратно в пути конвертирует которые понимает SSH сервер, и хранит только эту чушь внутри себя. Если файлы выделить и скопировать их как ссылки тоже везде этот префекс мешается в путях). Вы можете как разработчик, не ссылаясь к стандартам, объяснить где и в какой программе такая строка ssh:// может быть использована? Т.е. - вопрос ЗАЧЕМ он меня не оставляет, это удивительно... зачем это было сделано? Все же ФАР он для людей а не для стандартов и пользуются им люди а не машины, и я не могу со своим опытом с 5 лет с компьютерами понять зачем такая строка нужна, где она может исползоваться. ДЛя меня это просто лик логина и сервера, я уверен кроме как снижения безопасности и растраты времени тем кто выдергивает путь без префикса это следование стандарту не несет. Т.е. вообще нет смыла. Зачем в программе бессмысленные возможности... Может быть туда Слава России подставлять, перед SSH чтобы уж точно было стандартно) Вам спасибо за время вложенное в НетБОКС это всего лишь маленький дефект а в остальном нетбокс работает хорошо... кстати вот ещё много глюков которых не было в следующем посте. |
Вот вам простой случай. Логичный плагин НетБОКС. А раньше это работало в WinSCP и всё остальное стало так же логично работать. Например видите вы на сервере файле /etc/group хотите его скопировать делаете Ctrl+F у вас в буфере Не надо было этого делать, это нарушило логику работы WinSCP плагина который без этого были изначально префикса и работал хорошо и удобно. |
Не забывайте под большим кол-ом параметров подразумевается от 100 миллионов параметров, тогда действительно будет задержка при пуске FARа но у фара меньше тысячи параметров. Для этих целей БД не нужны. Вообще, весь линукс на таких конфигах работает - все программы в линуксе. И не забывайте сама база данных тоже требует времени и ресурсов. Запросы к ней не бесплатны. Зачем фару хранить конфиги с всего 1000 параметров в базе данных.... это все равно что вместо autoexec.bat сделать базу данных и туда запихнуть парметры из autoexec.bat - это медленно и что самое главное тем кто работает с ФАР это очень неудобно. Т.е. это вообще не нужно, уже написаны GNU библиотеки для парсинга конфигов, взять нужно было такую бибилиотеку и использовать её для парсинга far.conf и всё, зачем SQL Lite когда фар однотредовый, это может быть актуально в таком ПО как хром и то... все его кеши это текстовые файлы, там миллионы параметров я не вижу задержек. А уж в ФАРЕ то с его 100 параметрами пользоваться для этого SQL.... это точно ошибка. Никто не будет лазить по этим базам настраивать плагины. Никто не знает зачем эти параметры в базе какие значения они принимают и зачем потому что всё это в разных файлах человек не видит когда правит - что он может тут сделать. Просто обычный far.conf и обычная GNU библиотека для парсинга libconfig, iniparser, configparser, confuse и многие другие ну что сделано то сделано, теперь никто не будет конфиги в фаре править, надо было просто в EXE файлы все парметры закодить чтобы хекс редактором их только менять можно было, так быстрее всего бы было Я бы хотел обратить ваше внимание что производительность никогда не была проблемой в FAR ни его старт ничто не отнимало много времени, я удивляюсь что такой фокус был уделен SQL Lite как будто он грузился долго и теперь стал быстрее. В любом случае проблемы медленного запуска у фара не было. Это просто удивительно что для хранения 1000 параметров используется база данных... такое сомнительное решение. В чем его смысл - опять же назревает вопрос - ЗАЧЕМ. Но опять же все это уже сделано и время потрачено и спасибо за то что это вообще сделано. Как можно было так и сделано - исходники есть хочешь сделать лучше - возьми и сделай. |
Вам когда нибудь приходилось писать что-то типа информационно-поисковых систем? А мне приходилось, и не раз. И то,что вы назвали - 100 млн.параметров дли них сверхвысокая нагрузка. Даже несколько сотен имеющих сложные связи параметров в конфиге достаточно сложно отследить, особенно в формате Clean/TEXT и потому был выбран вариант SQLite3. А скорость запуска Far3 в общем случае штука переменчивая и сильно зависит от таких параметров как скорость чтения дисковой подсистемы и наличие и число скриптов и макросов используемых в конкретном случае. Например у меня если отключить скрипты FarUE3 имеющий около 75 плагинов стартует (время запуска считается от момента выдачи ОС функции CtrateProcess() до момента готовности программы к вводу команд оператором ЭВМ) примерно за 7,6 миллисекунды, а если включить все 154 скрипта а которых содержится свыше 200 макросов время запуска возрастает до 80 - 90 миллисекунд и его типовое значение составляет примерно 77 - 78 миллисекунд так что использование СУБД не сильно влияет на скорость работы пакета. |
@LanThrusteR , сделал себе макрос Shell. CtrlF.lua: local NetBox = '42E4AEB1-A230-44F4-B33C-F195BB654931' Macro { area="Shell"; key="CtrlF"; action = function() сделал вариант без окавычивания потому что например команда перехода goto: на FAR2M (на Linux'e) понимает пути без кавычек |
Нужно чтобы было не ssh://user@host:port:/var/tmp при копировании Ctrl +F а /var/tmp
как это и было всегда в WinSCP
все настройки облазил, не отключаемые сложности
The text was updated successfully, but these errors were encountered: