На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
1. Раздел предназначен для обсуждения ПО.
2. Поиск кряков, серийников, варезных версий ПО - запрещен.
3. Холивары также не приветствуются - для этого есть соответствующий раздел.
4. При создании тем в разделе настоятельно рекомендуется придерживаться следующего шаблона оформления.
5. Ссылки для скачивания дистрибутивов ПО должны вести на официальный сайт! Запрещено размещение ссылок на файлы, находящиеся на файлообменниках типа RapidShare, iFolder, DepositFiles, Sms4File, VipFile и прочих "условно-бесплатных" ресурсах.
Модераторы: winsoft
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> FAR Manager
    Far Manager

    Windows. FreeWare.

    Многофункциональный файловый менеджер для работы с различными файлами, позволяет просматривать файлы и каталоги, редактировать, копировать и переименовывать файлы. Поддерживает Unicode имеет удобный и простой в использовании пользовательский интерфейс с многоязычной поддержкой. Позволяет работать с архивами, FTP-клиентами, и просматривать сеть с помощью реализованных в стандартную поставку плагинов. Кроме того есть возможность расширения функциональности за счет подключения дополнительных плагинов.

    user posted image

    Ну очень странно что его уже давным давно не включили в разделе "Полезного ПО" :-?

    Подключаемые модули (плагины)

    Возможности FAR существенно расширяются благодаря плагинам различного назначения:

    • управление принтерами, как подключёнными к ПК, так и сетевыми;
    • подсветка синтаксиса в исходных текстах программ;
    • работа с FTP-серверами (с поддержкой доступа через различные типы прокси, автоматической докачкой и прочее);
    • работа с SFTP-серверами (плагин WinSCP);
    • поиск и замена символов одновременно во множестве файлов с применением регулярных выражений;
    • средства переименования групп файлов с возможностью использования сложных составных масок из символов подстановки и шаблонов;
    • NNTP/SMTP/POP3/IMAP4 клиенты и отправка сообщений на пейджер;
    • работа при нестандартных размерах текстового экрана;
    • перекодировка текстов с учётом национальных кодовых таблиц;
    • манипуляции с содержимым корзины;
    • управление приоритетами процессов на локальном или на сетевом ПК;
    • автозавершение слов в редакторе и работа с шаблонами;
    • редактирование реестра Windows;
    • создание и изменение ярлыков Windows;
    • всевозможные манипуляции с файлами и текстом, делающие комфортной работу с фидонетовскими материалами;
    • кодирование и декодирование файлов в формате UUE;
    • симметричное и асимметричное шифрование файлов;
    • управление программой Winamp и модификация комментариев MP3-файлов;
    • просмотр и редактирование содержимого ресурсов различных игр;
    • работа с различными серверами через ODBC + работа с серверами Oracle через OCI;
    • управление службой RAS;
    • запуск внешних программ (компиляторов, конвертеров и проч.) при редактировании текстов в редакторе FAR;
    • отображение содержимого файлов справки Windows (.hlp и .chm);
    • калькуляторы с разными возможностями;
    • функции проверки орфографии при обработке текста в редакторе FAR;
    • работа с файл-образами дисков для ZX Spectrum и пк Вектор-06Ц;
    • подготовка каталога сменных накопителей и многое другое.
    • вычисление и проверка CRC и криптографических хеш значений файлов (SHA-1; SHA-2; Whirlpool и других).
    • Отображение скрытой файловой системы на телефонах SonyEricsson
    • Некоторые важные плагины (например, для работы с FTP, печати, сравнения файлов, работы с архивами, сетью) входят в поставку FAR. Но подавляющее большинство плагинов доступно для скачивания в интернете, пользователь может устанавливать их в соответствии со своими задачами. В настоящее время насчитывается более 700 плагинов для FAR.

    Домашняя страничка: https://farmanager.com
      Раз уж пошла такая пьянка, вот мой скрипт для автоотступов
      ExpandedWrap disabled
        local strip = function(str)
          local i
          
          i = 1
          while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i + 1 end
          str = str:sub(i)
          i = -1
          while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i - 1 end
          str = str:sub(1, i)
         
          return str
        end
          
        local newLine = function()
          local F      = far.Flags
          local ei     = editor.GetInfo(nil);
          local x      = 1
          local y      = ei.CurLine
          local curStr = editor.GetString(nil, y, 0).StringText
         
          while strip(curStr) == "" and y ~= 1 do
            y = y - 1
            curStr = editor.GetString(nil, y, 0).StringText
          end
          while x <= #curStr do
            if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end
        --    if string.sub(curStr.StringText,x,1) == "\t" then x = ei.TabSize * ei.math.floor((x + ei.TabSize-1)/ei.TabSize) end
          end
         
          editor.UndoRedo(nil, F.EUR_BEGIN)
          editor.InsertString()
          if strip(editor.GetString(nil, ei.CurLine, 0).StringText) == "" then
            editor.SetString(nil, ei.CurLine, "")
          end
          editor.SetPosition(nil, ei.CurLine+1, x, -1, -1, -1, -1)
         
          curStr = strip(editor.GetString(nil, 0, 0).StringText)
          if #curStr ~= 0 then
            editor.SetString(nil, 0, string.rep(" ", x-1)..curStr)
          end
         
          editor.UndoRedo(nil, F.EUR_END)
        end
         
        local newTab = function()
          local F      = far.Flags
          local ei     = editor.GetInfo(nil);
          local x      = ei.CurPos
          local y      = ei.CurLine
          local curStr = ""
         
          while strip(curStr) == "" and y ~= 1 do
            y = y - 1
            curStr = editor.GetString(nil, y, 0).StringText
          end
         
          while x <= #curStr do
            if curStr:sub(x, x) ~= " " and curStr:sub(x, x) ~= "\t" then x = x + 1 else break end
          end
          while x <= #curStr do
            if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end
          end
          if x > #curStr then
            x = (math.floor((ei.CurPos-1) / ei.TabSize) + 1) * ei.TabSize + 1
          end
         
          local pos = ei.CurPos
         
          while pos < x do
            editor.UndoRedo(nil, F.EUR_BEGIN)
         
            local tmpPos = (math.floor((pos-1) / ei.TabSize) + 1) * ei.TabSize + 1
         
            if tmpPos > x then tmpPos = x end
         
            editor.InsertText(nil, string.rep(" ", tmpPos-1 - pos+1))
            editor.UndoRedo(nil, F.EUR_END)
            pos = tmpPos
          end
        end
         
        Macro {
          area="Editor"; key="Enter"; flags=""; description="Insert new line"; action = function()
        newLine()
          end;
        }
         
        Macro {
          area="Editor"; key="Tab"; flags=""; description="Insert new tab"; action = function()
        newTab()
          end;
        }

      При нажатии TAB автоматически ищет позицию правее так, чтобы курсор остановился напротив первого непробельного символа на наинижайшей непустой строке выше с пробелами и с непробельными символами правее текущей позиции курсора. Ну т.е. курсор прыгает к самой левой позиции, правее текущей, чтобы встать на границе очередного "слова" строки выше. Если предыдущая строка пустая, берётся ещё более предыдущая. Если строка выше короче текущей, тогда TAB работает стандартно, как исходный TAB.
      При нажатии ENTER автоматически удаляет финальные пробелы в текущей строке и перемещает курсор в новую строку в позицию самого левого непробельного символа в текущей. Т.е. выдерживается тот же отступ. Если текущая строка пуста, берётся строка выше текущей по тем же правилам, что для TAB. Если подходящей строки не найдено, в новой строке отступа не будет.
      При вставке отступов, что по TAB, что по ENTER, вставляемые отступы добавляются поTABно, и каждый из них добавляется в UndoRedo, что легко их откатывает поэлементно даже если было вставлено несколько за раз.
      Скрипт был написан мною спецом под набор исходного кода, где желаемые отступы в подавляющем большинстве случаев определяются именно этими правилами. Скрипт может конфликтовать с AutoComplete, если нажать TAB или ENTER в тот момент, когда он предлагает варианты для дополнения, но это не моя проблема, скрипт не в состоянии обнаружить такие ситуации сам.
        Скрытый текст
        На неделе попробую глянуть. Ща пока о5 занят.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:
        Страницы: (3) 1 2 [3]  все


        Рейтинг@Mail.ru
        [ Script execution time: 0,0506 ]   [ 20 queries used ]   [ Generated: 9.12.25, 12:23 GMT ]