Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Far Manager (часть 3)

Модерирует : gyra, Maz

articlebot (06-10-2016 09:08): Far Manager  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Как собрать FAR самостоятельно (инструкция, в разработке)  
Ссылки на устаревшие версии
 
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 17:33 12-10-2009 | Исправлено: 375, 08:35 29-03-2016
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon
 
С LuaManager 2.2.6 ошибки вылезли когда я решил изменить выводимый размер поля Описание (дескриптора) в его настройках. Попробую глянуть одну гипотезу....
 
Да, настройки LuaManager слетают начиная с версии 2.2.4, а скорее всего ещё в 2.2.3 - порча БД поймана начиная с версии 2.2.4 т.к. версия 2.2.3 у меня не сохранилась, но судя по changelog:

Цитата:
Версия 2.2.3 - Если маска файлового фильтра не содержит расширения, то в конце добавляется .lua и .moon. Для флагов активной/пассивной панели горячие клавиши с RAlt срабатывают для флагов пассивной панели, в остальных случаях - для активной. CtrlL в главном меню и диалоге настройки сбрасывает все настройки на сохранённые. Изменены клавиши текущей настройки сортировки скриптов. Переделана справка. Добавлены быстрые клавиши в диалог конфигурации. Мелкие правки.

ошибка возникла именно тут...
 
Да и CtrlL в LuaManager v2.2.4+ не работает - настройки скрипта не сбрасываются ни к записанным, ни к дефолтным  т.к. их сохранение происходит автоматически в этом фрагменте SaveSettings() - if obj:Get(key,n,t)~=v then obj:Set(key,n,t,v) end -- изменился (или не было)? запишем , а поскольку при любом изменении настроек идёт запись в БД - res=46, то и CtrlL бесполезна  ...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34360 | Зарегистр. 31-07-2002 | Отправлено: 14:06 31-07-2015 | Исправлено: Victor_VG, 18:05 31-07-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz: 15:23 31-07-2015
Цитата:
В LF Search есть утилита многострочной замены в редакторе (смотрите справку), но она не интерактивная.
В процессе эксперимента, обнаружился ещё один баг. Как воспроизвести:
1. В любом файле ищем белиберду:
 

 
2. Нажимаем 2 раза Esc (убрать окна)
3. Нажимаем
 

 
4. Получаем ошибку а в след за ней окно с БАГом:
 

 
ps: Пока так и не понял как заменить то что хотел. Туда бы в справку примеров многострочной замены...
 
Добавлено:
 Oldster: 23:27 30-07-2015
Цитата:
Плагины SortStr, DelStr
Ими такое не сделать...
 
 Victor_VG: 16:06 31-07-2015
Цитата:
С LuaManager 2.2.6 ошибки вылезли когда я решил изменить выводимый размер поля Описание
Я про это спрашивал:
Цитата:
Если бы мы знали строки на которые либа ругается, то мы бы могли потратить меньше времени на правку .aff

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 15:18 31-07-2015
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon
 
Со словарями я пока дела отложил т.к. в принципе имея список слов их проще создать заново, а возится ними у меня сейчас нет времени.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34360 | Зарегистр. 31-07-2002 | Отправлено: 16:03 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Цитата:
Мне нужно заменять не на первую строчку, а на вторую, там где "слово/"

Тогда составляете таблицу, что есть на входе и что должно быть на выходе, и пишите lua скрипт, возвращающий нужное.

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 16:27 31-07-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21: 18:27 31-07-2015
Цитата:
таблицу, что есть на входе и что должно быть на выходе

На входе любое слово, например:
тест
тест/(A-Z)

 
на выходе:
тест/(A-Z)
 
Живой пример, кусок в словаре, отмеченное красным требуется удалить:
 
   
 
Если бы я знал как, неужели бы спрашивал.

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 16:50 31-07-2015 | Исправлено: Capushon, 17:44 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Код:
Search for:
^([^/]+?)(/.+)?$
Replace with:
-здесь скрипт-
[x] Regular expression        [ ] Several lines   [ ... ]
[ ] Case-sensitive
[ ] Reverse search            [ ] In selection only      [ RE Builder ]
[x] Remove emptied lines
[ ] Remove not matched lines
[x] Evaluate as script:       FarLUA                        [ Editor ]
 
               { Replace } [ All ] [ Cancel ] [ Close ]    [ Presets ]

Скрипт замены:

Код:
local s=""
 
local storeLn=function()
  _G.s000=match(0)
  _G.s001=match(1)
  _G.s002=match(2)
end
 
if named("R")=="0"
then
  storeLn()
  if match(2)~="" then s=match(0) end
else
  if match(1)==_G.s001
  then
    if _G.s002==""
    then
      if match(2)~=""
      then
        s=match(0)
        storeLn()
      end
    else
      if final() then s=match(0) end
    end
  else
    if _G.s002=="" then s=_G.s000 end
    storeLn()
    if match(2)~="" then if s=="" then s=match(0) else s=s.."\r\n"..match(0) end end
  end
end
return s

Примечание: запоминается _первое_ встреченное "/символы", последующие удаляются.
Пример. Вход:

Код:
бла_бла_бла
бла_бла_бла
бла_бла_бла
бла_бла_бла/K
бла_бла_бла
бла_бла_бла/Т
бла_бла_бла/KMP
бла_бла_бла
бла_бла_бла
asd
as
zxc
aa
aaa
aaa/L
es
er
er/L
 

Выход:

Код:
бла_бла_бла/K
asd
as
zxc
aa
aaa/L
es
er/L
 

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 17:39 31-07-2015 | Исправлено: Alexyz21, 17:56 31-07-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эти тоже должны остаться

Код:
бла_бла_бла/Т  
бла_бла_бла/KMP

 
удалять нужно дубли без ключей /xxx

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 18:00 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт замены:

Код:
local s,storeLn="",function() _G.s000,_G.s001,_G.s002=match(0),match(1),match(2) end
 
if named("R")=="0"
then
  storeLn()
  if match(2)~="" then s=match(0) end
else
  if match(1)==_G.s001
  then
    if _G.s002==""
    then
      if match(2)~=""
      then
        s=match(0)
        storeLn()
      end
    else
      if match(2)~="" and match(2)~=_G.s002
      then
        s=match(0)
        storeLn()
      end
      if final() then s=match(0) end
    end
  else
    if _G.s002=="" then s=_G.s000 end
    storeLn()
    if match(2)~="" then if s=="" then s=match(0) else s=s.."\r\n"..match(0) end end
  end
end
return s

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 18:04 31-07-2015 | Исправлено: Alexyz21, 22:36 31-07-2015
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon
Спасибо за новый репорт. Это в общем-то Фар виноват, что помещает по Enter строку в историю, даже если диалог не закрывается, но ладно, поправил у себя.

Цитата:
ps: Пока так и не понял как заменить то что хотел. Туда бы в справку примеров многострочной замены...  

Открываете диалог многострочной замены.
В строке поиска: (\w+)\n(\1\/.+\n)
В строке замены: $2

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 18:45 31-07-2015 | Исправлено: shmuz, 18:55 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
такой поиск корректно работать не будет

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 19:11 31-07-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz: 20:45 31-07-2015
Цитата:
Фар виноват, что помещает по Enter строку в историю, даже если диалог не закрывается, но ладно, поправил у себя
Если не брать строку с истории, как тогда будет работать "продолжить поиск" ?

Цитата:
В строке поиска: (\w+)\n(\1\/.+\n)  
 В строке замены: $2
Работает, долговато правда - минут 5 и циферки вверху не бегут, сразу думал "висим". Спасибо!
Нехватает сохранения схем, для сложных конструкций не помешало бы.
Если прервать поиск через пару минут (~ на середине) - undo не работает, помогает только не сохранять файл.
 
 Alexyz21: 21:11 31-07-2015
Цитата:
такой поиск корректно работать не будет
А почему не будет?

Цитата:
Скрипт замены:
Не хочет:

 

 
Но всё равно спасибо что тратили время!

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 21:13 31-07-2015 | Исправлено: Capushon, 21:14 31-07-2015
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Цитата:
Если не брать строку с истории, как тогда будет работать "продолжить поиск" ?  
Строку в историю следует помещать, если диалог закрывается по Enter, а если не закрывается, то нечего её туда совать.

Цитата:
Работает, долговато правда - минут 5
У меня (файл 11 мегабайт, 256 тыс. строк) плагин справился за 74 секунды. Время занимает не сама замена, а удаление всех строк по одной и последующая вставка новых строк по одной.
 
Остальные ваши замечания приму к сведению.

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 21:54 31-07-2015 | Исправлено: shmuz, 21:59 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Цитата:
А почему не будет?

Потому что в нём не учитывается, что могут повторяться слова без опций. Т.е. требуется предварительное удаление дублей. Хотя, возможно, в 2 прохода окажется быстрее, чем в 1.  

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 22:22 31-07-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz
А два окна (Заменить и Многострочная замена) нельзя сделать одним?
 
Добавлено:
 Alexyz21: 00:22 01-08-2015
Цитата:
в нём не учитывается, что могут повторяться слова без опций
Ааа, ну это да, есть такое, но в моей задаче было только по одному дублю.

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 22:26 31-07-2015
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Цитата:
А два окна (Заменить и Многострочная замена) нельзя сделать одним?
Можно, но на повестке дня пока не стоит, и вообще неизвестно, будет ли это сделано.

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 22:35 31-07-2015
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё раз посмотрел LuaManager 2.2.6 - нравится мне логика стр 236
 
if type(v)=="boolean" then v = v and 1 or 0 end -- заменим true/false на 1/0
 
она по моему в любой момент может записать в v всё что угодно, и я бы что-то типа такого сделал:
 
if type(v)=="boolean" and v==(true or false or nil) then v=if v==true then 1 else 0 end; end;


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34360 | Зарегистр. 31-07-2002 | Отправлено: 22:36 31-07-2015
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG

Цитата:
if type(v)=="boolean" then v = v and 1 or 0 end -- заменим true/false на 1/0

это правильно

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 22:54 31-07-2015
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Capushon

Цитата:
Если прервать поиск через пару минут (~ на середине) - undo не работает, помогает только не сохранять файл.  
Проверил, баг не подтвердился.
Просто Undo тоже может занимать большое время.
Вы нажали CtrlZ и ожидаете немедленного восстановления - ан нет, подождите минутку (или сколько это у вас займёт), тогда восстановится.

Всего записей: 1896 | Зарегистр. 09-03-2012 | Отправлено: 01:18 01-08-2015
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Да понятно, просто подсознательно кажется что определение способно вызвать логическую ошибку которую хочется однозначно избежать.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34360 | Зарегистр. 31-07-2002 | Отправлено: 07:54 01-08-2015
Capushon

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz: 03:18 01-08-2015
Цитата:
подождите минутку (или сколько это у вас займёт), тогда восстановится
Да, секунд 20 и undo срабатывает.

Всего записей: 4735 | Зарегистр. 18-07-2006 | Отправлено: 09:15 01-08-2015
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397

Компьютерный форум Ru.Board » Компьютеры » Программы » Far Manager (часть 3)
articlebot (06-10-2016 09:08): Far Manager


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru