LINUX.ORG.RU
ФорумTalks

Сколько стоит FAR для Linux?

 ,


1

1

Поставил я таки винду - ребёнок плакал - игрушка не шла. Пришлось вспомнить молодость - настроил всё, как полагается: антивир, офис, acdsee (аналог) и т.д. Ну и конечно же - мой любимый FAR с 7zip-плагином. И меня охватила ностальгия. До чего же он удобный, блиннн! :-)

И тогда я решил - будут деньги, не пожалею - подарю сообществу FAR под линух. Сам не потяну, как разраб.

В связи с этим вопрос - сколько может стоить разработка? Количество девелоперов, сроки, бюджет? Хотя бы ориентировочно. 1000$? 10 000$? 25 000$?

PS: Админ, добавь новый тег FAR плиз.

Перемещено mono из development

★★★

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

Ответ на: комментарий от KRoN73

Alt-e

Как там выбрать, скажем, UTF-16 или KOI-8U? :)

я не знаю. Никогда не пользовался.

dikiy ★★☆☆☆
()

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

Оценочная формула - кол-во разработчиков * на среднюю по отрасли ЗПЛ * примерный период ожидания разумный.

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

Уровень редактора ФАР по сравнению с vim

vim — не интегрирован. Со всеми вытекающими минусами.

что такое интегрирован и что за минусы вытекают?

Ну и вопрос эргономики. Я vim в фоновом режиме использую лет 15 уже.

То, что в mcedit или редакторе Far'а делается автоматически, вообще не задумываясь, в vim'е идёт как будто против шерсти.

ну присобачь другой редактор, проблема чтоли?

И, повторюсь, оно ещё и без интеграции. Даже на мощных современных машинах между нажатием F4 и открытием файла в vim проходит весьма заметное раздражающее время. Объективно на скорости работы не сказывается, но раздражает после мгновенного открытия во встроенных редакторах сильно и поэтому начинает тормозить работу субъективно.

сделай себе для vim профайл, чтобы плагины не грузились всякие. И будет тебе счастье.

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

скопировать 20 файлов из 100 в другую директорию. Файлы не имеют в названии ничего общего

Какие у вас странные задачи...

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

Очень даже ежедневные задачи. Скажем, выдрать несколько фильмцов из свалки на флешку, чтобы без компьютера по телеку посмотреть.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от KRoN73

Что ты все придираешься? Тебе не нравится mc — пожалуйста, можешь не пользоваться. А я, например, твоих проблем не понимаю. У меня никогда не было задач, с которыми бы не справлялся mc и баш.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от invy

Это не менеджмент файлов, а перекладывание говна из одной кучки в другую кучку.

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

ну, у меня /tmp с tmpfs 6 гиг на буке, 12 и 16 на домашнем компе и сервере соответственно. Устриц сегодня не ел =)
А в DN, насколько помню, они были не просто списком файлов.

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

> Да, при чём Ctrl-\ в Far'е реально не хватает :) Горячие RCtrl-<цифра> замена не равноценная, это другое уже.

Можно сходу назвать с десяток плагинов, умеющих что-то подобное (переход в избранные каталоги), в самых разных исполнениях (через отдельные меню, Alt+F1/F2, вкладки на панелях, аббревиатуры). Я пользуюсь изкоробочным TmpPanel.

oneliner
()
Ответ на: комментарий от rimsleur

Процитирую текст в конце статьи: «У нас не будет полноценно работать Ctrl-O в нашей замечательной консоли в линуксе. Увы, никогда.»
Т.е., как я понимаю, для mc это нереализуемо в принципе.

Понятно. Только точнее будет не для mc, а для конкретных терминалов.

amm
()

жаль что mrxvt не шевелится.

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

Для тех, кто знаком с С++ выглядит это нормально. Это я про endl и контейнеры если что.

Это выглядит обычно, к сожалению чаще бывает хуже, причем в продакшне и это печально. А самое печальное, что ничто не мешает в любой строке забыть * перед i и приплыли.

С Паскалем, правда, я работал очень давно, но не представляю как аналогичный код написать на Паскале. Пока поверил на слово товарищу dikiy, правда писать да/нет намного проще, чем конкретику. Ну, да я не настаиваю.

От человека ~15 лет не садившегося писать, на паскале ваш код будет выглядеть примерно так.

var
a : array of string = ["One","Two","Three","Unexpected","Four"];

function view(var value : array of string) : integer;
var 
i : integer;
begin
  for i:=0 to GetLenght(value) do begin
     case value[i] of
        "unexpected" : raise exception.create("Unexpected value detected");
        "stop"       : break;
     end;
     value[i] := value[i]+"!";
     writeln(IntToStr(i)+"."+value[i]);
  end;
  Result := i;
end;

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

А я, например, твоих проблем не понимаю

Я потому сразу же и сказал, что многие знания — многие печали :)

У меня никогда не было задач, с которыми бы не справлялся mc и баш.

Дык, я когда-то и в MS-DOS справлялся со всеми потребными задачами. Так что для кого-то и морковка — сладость :D

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

1 Стараюсь не устраивать таких обширных помоек.

2 Когда все же встречается (например какой-нибудь архив скачал), то таки mc.

А вообще под «разучился» я имел в виду то, что забыл большую часть хоткеев в mc. Помню только как сделать одинаковые панели и скопировать пути открытых директорий в командную строку.

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

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

Кстати, как на баше обозначить диапазон?

Например: img_{003,004,005,006}.png, чтобы все итерации не вбивать? Только цикл?

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

Конкретно пример? В mc есть и автодополнялка и история команд.

Конкретно речь про строку команд. К примеру набор команды с одновременным поиском в истории и автодополнением по файловой системе

                                        │      ║║
       ┌─────────────────────────────────────── История
       │
       │  cd /Temp
       │  cd /tmp
       │  cd /
       │  cd /WINDOWS
       ├──────────────────────────────────────── Файлы ─
──────│  cd /.rnd
       │  cd /1
══════└────────────────────────────────────────────────
Temp\!>cd /
мощь 2ПользМ 3Просм  4Редакт 5Копир  6Перен  7Папка  8Уд

История команд в mc конечно же есть, речь про автоматический поиск в нем при наборе команды.

А вот про автодополнение в mc расскажи как.

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

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

Запустил mc, у тебя в командной строке - история mc, скрыл панели через Ctrl-O, бац у тебя внезапно другая история команд, от bash

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

А вот про автодополнение в mc расскажи как.

Может, ты всё же потратишь нско минут твоего драгоценнейшего времени и таки прочитаешь ман мц? Уверяю, «совершите вы массу открытий (иногда не желая того)».

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

А вот про автодополнение в mc расскажи как.

Esc Tab. Притом работает везде, даже диалогах копирования и т. п.

Кстати, раз уж мы меряемся сравниваем. История в mc работает даже во всех диалогах. Ну, при копировании, перемещении мне это как-то не особо нужно было, а вот при доступе по ftp, очень даже. Far историю хостов ftp хранит? Да так, чтобы не хранить пароли, которые ты вводишь в ту же строку?

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

Esc Tab.

Клацать цельных две клавиши ? Неудобно же. Плюс это только по fs, по истории команд я так понимаю дополнения нет.

История в mc работает даже во всех диалогах.

Анологично

   ╔═══════════════════════════ Копирование ═══
   ║ Копировать Проекты в:
   ║ u:\
   ╟─┌─────────────────────────── История ─────
   ║ │
   ╟─│  U:\_FIX\{WRC}\TRIGGER\
   ║ │  U:\_FIX\
   ║ ├──────────────────────────── Файлы ──────
   ║ │  u:\20120118
   ╟─│  u:\20120122
   ║ │  u:\Apache2

Far историю хостов ftp хранит?

Зависит от плугина, ftp это плугин, , в текущей версии NetBox история в поле с адресом сервера как токовая не нужна, ибо подключение начинается с создания записи в списке сессий. А они сами по себе прекрасная история.

Да так, чтобы не хранить пароли, которые ты вводишь в ту же строку?

Не указываешь пароль - будет спрашивать при каждом подключении.

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

Может, ты всё же потратишь нско минут твоего драгоценнейшего времени и таки прочитаешь ман мц?

Может ты все таки перестанешь тратить мое драгоценное время и скажешь конкретно как сделать то что спрашивают ?

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

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

Говорил уже - если у тебя приступ снобизма и владения тайным знанием - то проходи мимо. Не задерживайся.

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

Оператора .. в нём нет.

Ура! Лень - двигатель прогресса. Нашел в zsh желанный оператор, раскрывающий диапазоны: <x-y>

ls access<20061103-20061110>.log

Теперь mc вообще вряд ли понадобится.

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

«Обожаю» снобов, постоянно у них кто то «срет, да воняет, только глаза режет» (с) akk.

Невдомек снобам что вещества как и запах по интернету не передаются, и что глаза им режет исключительно собственное самомнение.

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

writeln(IntToStr(i)+".«+value);

Достаточно классического:

WriteLn(i,'.',value[i]);
Двойные кавычки по тексту поменять на апострофы »'", квадратные скобки в объявлении «a» заменить на круглые, указать явно индексы в array [0..4] of, цикл for i:=Low(value) to High(value). А если добавить тело
{$H+}{$objmode fpc}
uses SysUtils;
...
begin
  View(a);
end.
-- оно еще соберется и заработает.

У меня сходу написалось примерно аналогичное же:

{$H+}{$mode objfpc}
uses SysUtils;

function View(var arr: array of string): integer;
var
  i, q: integer;
begin
  q:=0;
  for i:=Low(arr) to High(arr) do begin
    if arr[i]='stop' then break;
    if arr[i]='unexpected' then
      raise Exception.Create('Unexpected value detected');
    arr[i]+='!';
    WriteLn(q,'.',arr[i]);
    inc(q);
  end;
  View:=q;
end;

var
  arr1: array [1..5] of string = ('One', 'Two', 'Three', 'unexpected', 'Four');

begin
  View(arr1);
end.
Тестовый прогон:
0.One!
1.Two!
2.Three!
An unhandled exception occurred at $00401584 :
Exception : Unexpected value detected
  $00401584
  $00401647

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

Задача: выбрать с sd карты вытащеной из камеры нужные фоточки и куда-то скопиорвать. Естессна, просматривая их. В файловом мэнэджере помечаешь нужное(предварительно посмотрев) а потом копируешь.
Опять же в zsh такое не очень решаемо.

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

Не, mc в принципе неплох, он позволяет окинуть взглядом содержимое директории, позволяет визуально быстро сравнить содержимое двух директорий, позволяет быстро перейти куда надо, не очень хорошо зная дерево. Но если в директории много десятков, а то и сотен файлов - двухпанельник не поможет.
И все юзкейсы из разряда «двухпанельник помогает ориентироваться в сраче» купируются недопущением срача. И вообще, с увеличением ёмкости жёстких дисков срач достигает таких размеров, что никакой двухпанельник не помогает, только nepomuk, только хардкор!

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

Естессна, просматривая их

Гуёвый файловый менеджер. Наутилус, дельфин или ещё кто-нибудь. Гораздо удобнее для этой задачи, чем двухпанельник.

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

Я, кстати, хотел предложить посмотреть на другие шеллы, но мысль зацепилась за perl... которым, в принципе, задача тоже решается :)

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

А если убрать необходимость менять сами строки, то цикл может быть типа for s in value do ...

function View(var arr: array of string): integer;
var
  s: string;
  q: integer;
begin
  q:=0;
  for s in arr do begin
    if s='stop' then break;
    if s='unexpected' then
      raise Exception.Create('Unexpected value detected');
    WriteLn(q,'.',s,'!');
    inc(q);
  end;
  View:=q;
end;

bormant ★★★★★
()

MC - Горбатого Могила Исправит

Многие меня спрашивают – чего такого нет в MC, что есть в FAR.

Отвечу – здесь есть несколько моментов.

Первый момент – философский – «О причинах наших решений»

«Мы не можем охватить пониманием всех причин наших решений и действий, потому, что не можем полностью проанализировать и объяснить даже один момент существования. И вот эту свою неосведомленность о причинах, обуславливающих наш выбор, и называем свободой воли. А меру неосведомленности о причинах будущих событий, называем вероятностью, непредсказуемостью или энтропией, она обратно пропорциональна информации, которую мы имеем. Каждое мгновение времени, каждое действие имеет бесконечное количество причин и бесконечное количество следствий. Информация об этих взаимодействиях и причинно-следственных связях бесконечно велика. Чтобы объяснить одно мгновение — нужна вечность. Один человек анализирует одну малую часть причин и строит свое представление о событии или предмете, а другой — другую часть, и строит свое понимание. Друг с другом они могут спорить бесконечно, пока их методы анализа, набор анализируемых фактов, весь их предыдущий опыт и багаж знаний, не совпадут. А как совпадут, то противоречие между ними исчезнет» (c)

Другими словами – я просто хочу Far для Linux в силу бесконечного количества причин осознаваемых и неосознаваемых мною.

Второй момент – «Осознаваемые причины»

  1. Модульность.
  2. Эргономика.

Если первый пункт ещё как-то решаем, то со вторым, как говорят, горбатого могила исправит: double Esc, Esc Tab, C-b C-f и т.д. Да просто убейте себя сейчас © со своими хоткеями и кривым Ctr-O.

PS1: Конечно убивать прямо сейчас себя не надо, просто см. Момент Первый.
PS2: FAR для Linux – могила для MC.

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

Клацать цельных две клавиши ? Неудобно же.

Да, чуть менее удобно.
Но давай посмотрим правде в глаза Atl+что_то_там - тоже две клавиши ;) Дело привычки. Я уже привык.

Плюс это только по fs, по истории команд я так понимаю дополнения нет.

Нет.

в текущей версии NetBox история в поле с адресом сервера как токовая не нужна, ибо подключение начинается с создания записи в списке сессий.

Вот это реально неудобно. Такая же система в Total Commander. Я пришел к товарищу, хочу забрать файл по ftp. Так мне нужно 10 кликов сделать прежде чем я за полсекунды скачаю один файл!

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

FPC: http://www.freepascal.org/docs-html/, смотреть в первую очередь Pascal Language Reference guide

Да, спасибо, бро, как-нить на досуге читану. Ты тоже за чашечкой кофе, просмотри беглым взглядом аналогичное по C++ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf . Только сразу закупись килограмм под 20 кофе, а то одной чашечки может не хватить.

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

Чувак, я дельфи последний раз 15 лет назад запускал, я давно не помню какие там скобки и кавычки :)
program/end я также не писал, т.к. а автора тоже нет main()
Кста, если array с нуля делать, то вторая переменная и Low не нужны :)
A «arr+=» разве в паскале уже так можно ?

Как видишь, дорогой Kroz, тот же код может быть более читабельным и ЯСНЫМ (и кстати от сишного не очень отличается) и не надо морочаться с указателями, которые, ну, нах в языке не нужны, они только мины закладывают - практически все ошибки, связанные с безопасностью, связаны именно с этой особенностью С, ну и плюс его плохая читаемость и отсутствие жестких типов данных, что и приводит к массовому проявлению человеческого фактора.

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

Пфф, object pascal умеет все тоже самое, но не требует столько кофе. По секрету скажу, что все это и но васике спокойно пишется, учебных языков нет :)

handbrake ★★★
()
Ответ на: MC - Горбатого Могила Исправит от Windows

философский – «О причинах наших решений»
<МногаБукаф>

Нет.

Мы действительно не осознаем большинство причин наших решений. Но мы МОЖЕМ их осознать. И если ты хочешь улучшать свою жизнь ты ДОЛЖЕН их осознавать. Есть 100500 ментальных ловушек, и если из них не выбираться, превратишься в нытика и неудачника.

Второй момент – «Осознаваемые причины»
double Esc, Esc Tab, C-b C-f и т.д

Опять же, дело привычки.
Ты когда-то привык сосать соску. И это было нужно и полезно. Но потом тебя от этой привычки отучили, ибо стало не нужно. И хорошо. Теперь ты большой, и пора самому прививать себе нужные привычки.

Или, если ты так хочешь, заточи под себя. Про кривой Ctrl+O, я так и не понял. Про Esc Esc - гуглить на тему old esc mode . Остальные хоткеи вроде переназначаются, не?

Хватит ныть. Прекрати задавать вопрос «Почему все так плохо», задай вопрос «Как сделать...», благо в Линукс можно сделать все.

AR для Linux – могила для MC.

Сначала пускай научится работать с Линукс-спецификой, такими как атрибуты файлов, user:group, симлинки, разные терминалы и т. п. Потом люди сравнят функционал, и я не уверен что FAR будет впереди.

Потому что ты сейчас смотришь на mc глазами виндузятника, а потом будут смотреть на far глазами Линуксоида, и ой я не уверен что будут хлопать в ладоши... Уверен, что в FAR нету очень многих нужных фич.

Пока что из отсутствующего в mc мы нашли режим «одна панель скрыта» и «поиск по истории», вроде пока все. Притом полезность первого, как по мне, весьма сомнительная в наш век кучи терминалов, второй - можно сделать feature request разрабам (да, когда я был в мире Windows, для меня это тоже было дико).

Из недостатков - неудобный ftp (по крайней мере плагине NetBox).

Ну так что, по конкретике, или далее будешь сосать соску следовать своим старым привычкам необъяснимым желаниям?

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

не надо морочаться с указателям

На всякий случай - там ни одного указателя нет.

Как видишь, дорогой Kroz, тот же код может быть более читабельным и ЯСНЫМ

Тот код был достаточно читабельным, хоть я и не ставил это за цель.

Я когда-то писал на Паскале и ушел на С потому, что он намного мощнее и даже где-то проще. Это было так давно, что я уже не помню конкретных причин.

Кcтати, как будет выглядеть твой код, Если заменить массив на связный список, а вывод делать в stdlog?

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

Пфф, object pascal умеет все тоже самое, но не требует столько кофе. По секрету скажу, что все это и но васике спокойно пишется, учебных языков нет :)

Эка, как ты быстро читаешь с сравниваешь :)

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

Но вот сейчас пошел и сделал tar -tf test.tar.gz - прекрасно показало список файлов

Это ты знаешь что это tar пожатый gz, а как это узнает mc? Думаю он не полагается на имена а распаковывает пока может.

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

А *i это разве не значение по указателю, в то время как i - указатель на адрес в памяти ?
Да пох как он будет выглядеть, главное, что сам язык тупо лажать не позволяет. Почему именно связанные списки ? Это уже программирование ради программирования, asm все равно такое не умеет - или оптимизация нам не нужна ? :) Я за два года написал банковкую систему, один, и без багов, ты на сях сколько такое писать будешь ?, а отлаживать ? :) Про безопасность ты согласен, я так понимаю. :)

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

аналогичное по C++

Читано неоднократно. Только зачем вы мне это советуете перечитать? Не устроил ответ на текущие возможности FPC в виде ссылки на официальные руководства, предлагаете его пересказать? Так от этого меньше не получится. Да и база сравнения, от чего считать новое, не была указана, вдруг для вас и устранение из языка файловых операций с неявной файловой переменной в стиле GET(F)/PUT(F)/F^ тоже новость.

просто интересно что может паскаль сейчас

Выходит, высказывание ваше сродни оксюморону «неплатежеспособный спрос». Выходит, неинтересно — ваше право.

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

Хватит ныть... Ну так что, по конкретике, или далее будешь сосать соску следовать своим старым привычкам необъяснимым желаниям?

Не надо проецировать предполагаемые причины своих частных решений на других людей. Обобщение - одна из 100500 ментальных ловушек. Если ты меня не понял, значит пока не время. RTFМомент Первый.

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

А *i это разве не значение по указателю, в то время как i - указатель на адрес в памяти ?

В данном случае это итератор, если просто, то умный указатель ( детальней здесь: http://ru.wikipedia.org/wiki/Итератор ). А работать с ним можно так же, как и с указателем. Это к вопросу об удобстве. Почему я спросил про список? Потому, что если я заменю структуру на список, то мой код будет выглядеть точно так же. Это еще раз к вопросу об удобстве.

Я за два года написал банковкую систему, один и без багов
без багов

Вот здесь не верю, уж прости. И ни один опытный программист тебе не поверит. Неломающиеся машины, люди не допускающие ошибок, сколько-нибудь сложный программы без багов - не верю.

ты на сях сколько такое писать будешь ?, а отлаживать ? :) Про безопасность ты согласен, я так понимаю. :)

На сях будет быстрее. В плане безопасности - зависит от профессионализма программиста. C++ даетП кучу инструментов и вопрос как ими пользоваться. Та же STL (библиотека шаблонов, в моем пример я использовал оттуда пару вещей) позволяет обойтись без указателей в большинстве случаев, похоже именно они тебя волнуют больше всего. Тебе это нужно - пожалуйста. Не нужно по каким-то причинам? - Пожалуйста. Хочешь читабельный код - пиши. Не хочешь - пожалуйста. А вот тот же Паскаль тебе такого не даст. Всегда есть баланс между безопасностью, скоростью работы, удобством разработки. А вот знать когда использовать какой инструмент, это и есть профессионализм.

C++ умеет все то же, что и Паскаль, но больше. Читабельность - можно такую же. Не веришь - приведи контрпример.

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

И за последними стандартами С++ следишь? Супер! Тогда ты можешь очень быстро выдать что умеет Паскаль чего не умеет С++!

P. S. У меня похожий список если что.

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

Сорри, возможно в запале накинулся.

Kroz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.