Титла: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 28, 2021, 09:48 Трябва ми някакъв обикновен текстови редактор, който да разделя екрана на две, да отваря два различни файла, но да ги показва синхронно.
1-вия ред да съответства на 1-вия ред на другия файл, 2-2 1248990-1248990 и т.н. Ето тук един пример, за тази функционалност която търся: https://www.linguee.com/english-bulgarian/search?query=christmas&source=auto Може да е конзолно, може да е графично, нещо подобно на diff/kdiff но без сравнениете - само показване. Щеше да е добре ако less например имаше такава възможност...да разделя екрана и да показва два файла синхронно ама няма. Тук описват подобно нещо: (Displaying Files Side by Side) https://www.baeldung.com/linux/files-display-compare но с pr -m -t inventory-1.txt inventory-2.txt не става защото тази команда изчита целите два файла и прави сливане, което показва и скача на края. А на мен ми трябва функционалност като на less - само да им видиш началото и да превъртиш ако трябва. А Файловете са много големи 1Gb++ Най-доброто до което се добрах засега е: Код: vim -O +'windo set scrollbind' en.txt bg.txt При редакторите наричат тази функция още sync scroll. Любимото ми kate, може да разделя екрана всякък, но няма заключване на скрола. Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: kingfisher в Dec 28, 2021, 10:14 vimdiff file1 file2 ?
Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 28, 2021, 10:21 vimdiff file1 file2 ? Абсолютно всеки ред на file1 и file2 е тотално различен. Всичко свети в червено, Щеше да е хубаво ако я нямаше тази функционалност на diff. А и освен това забавя, щото сравнява всеки ред. Подобни редактори предполагам, че може да използват при преводите на субтитрите на филмите. Пробвах и Qtlinguist, Lokalize...но те са за преводи(локализация) на програмите и не искат да отварят обикновен txt файл. За Notepad++ под windows на няколко пъти чета, чета че имало такава възможност: To achieve this, go to View -> Synchronize Vertical Scrolling (or Synchronize Horizontal Scrolling). че и бутончета имало. Толкова ли няма такова нещо на някой линукски редактор??? ---- PS: търся аз в Гого...Няма нищо съществено, обаче на втора страница, след има няма 1 час, Гого вече услужливо ми предлага да видя в linux-bg.org Цитат Viewer/Editor който да показва 2 файла синхронно един до ... https://www.google.com/search?q=linux+editor+Synchronize++Scrolling&client=firefox-b-e&ei=J9LKYfmKJ9qSxc8PzIuT-Aw&start=10&sa=N&ved=2ahUKEwi5utXpkIb1AhVaSfEDHczFBM8Q8NMDegQIARBN&biw=1920&bih=984&dpr=1 Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: kingfisher в Dec 28, 2021, 11:02 Цветовете се махат с :diffoff!
По добре :setlocal nodiff Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 28, 2021, 11:54 малка доработка:
Код: vi -O +'windo set noma wrap number scrollbind' file1 file2 с опции: noma - без модификация (по добре от readonly, предпазва от натискане на insert) wrap - пренасяне на дългите редове number - номериране на редовете, в жълти цифри..много полезно scrollbind - заключване на скрола. Обаче......скрола пак не е съвсем синхроннен ред по ред. Размества го, често и до 100 реда после пак се намества....Не работи правилно. Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 28, 2021, 11:57 Аз също не мисля че дифа ще свърши работа /с цвят или без/ - винаги ще се намерят два реда с нещо подобно напр. някое число - макар и различно и то ще мачне амнайсти ред със сто и амнайсти и отиде скрола на кино...
Атом има добавки /които аз лично не съм ползвал/ но виж напр. тази https://atom.io/packages/scroll-sync Също така може би и вижуъл студио код може да има... нищо че не е баш редактор за текст. П.П. аз не разбрах - ти искаш и да ги редактираш или само да ги четеш/гледаш/сравняваш? Инак за търсене в супер големи файлове много съм доволен от https://glogg.en.softonic.com/ Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 28, 2021, 12:02 Само от любопитство - ако махнеш wrap т.е. го направиш nowrap пак ли ги омотва редовете? Предполагам че напр. вижда зор да синхронизира напр. Ред 15 wrap-нат на 10 редa с другия ред 15 ама на 20 реда
Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 28, 2021, 12:32 Да и без wrap пак ги омотва.
Търсих го този atom (редактор), но го няма в репотата на центос. Този атом стандартен/иползван редактор ли е за линукс. Дебиан? Най-много искам да ги разглеждам....редактирането не е задължително. Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: ddantgwyn в Dec 28, 2021, 13:17 Търсих го този atom (редактор), но го няма в репотата на центос. Този атом стандартен/иползван редактор ли е за линукс. Дебиан? Код: [root@amasing ~]# dnf search atom Last metadata expiration check: 5:41:25 ago on Tue 28 Dec 2021 07:33:11 AM EET. ==================================================================== Name Exactly Matched: atom ==================================================================== atom.x86_64 : A hackable text editor for the 21st Century. fedora 35 ::) може дa погледнеш на сайта им дали няма готов rpm пакет за centos. https://atom.io/download/rpm Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 28, 2021, 13:30 Код: vi -O +'windo set noma wrap number scrollbind' file1 file2 има и още някаква 'подобна' (на scrollbind ) команда. Код: :syncbind която като я напиша и почти спира да го размества, само от долу по 1-2 реда. отгоре е вече синхронно и с wrap.но не е ясно какво точно прави: Цитат :syncbind и това :syncbind не е опция, а команда? как мога да я въведа в командния ред, така че да не пиша всеки път? Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 28, 2021, 21:57 Atom е голям ГУИ и не знам плъгина дали ще се справи с големи файлове 3ГБ и нагоре /с малки не се и съмнявам че работи/
Имам и друга идея - диф с опция за look ahead/behind 0 реда Ако не става директно от vim/vimdiff давай директно с diff от конзолата - който ще ти направи 3 ГБ диф файл който после отваряш с vim с опцията за обезцветяване... Дано работи - аз досега не съм срещал диф вюър който да размества сравняваните редове...само че винаги съм я наглася тая опция от Г/УИ та не знам как се казва за конзолното т.е. ти де факто му указващ да сравнява ред по ред без да търси напред/назад за съвпадения а само с текущия ред - е верно всичките ще са различни ама пък ти ще го гледаш с опцията за обезцветяване.... П.П. Сега като се замисля може и да я няма конзолния diff тая опция - беше много отдавна и тогава трябваше да го побутна (3rd party дали не беше) GUI tool-a наобратно т.е. да гледа напред (+няколкостотин К реда напред) та да види че една функция е преместена от началото в края на файла (че иначе все ми даваше изтрита в началото и добавена в края но не ги свързваше със стрелка че всъщност е преместено - и като му дигнах lookahead на няколкостотин К и се оправи) - не мога да се сетя с коя утилка го правих навремето, но за съжаление е ГУИ и вероятно ще иска да зареди всичко у РАМта 2х1.5ГБ Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 28, 2021, 23:30 С VSCode може да пробваш някой от тези добавки
https://github.com/mupchrch/split-diff https://marketplace.visualstudio.com/items?itemName=dqisme.sync-scroll https://stackoverflow.com/questions/59187587/vs-code-how-to-scroll-split-panels-simultaneously ето го и в действие - нищо че ще дава всички редове различни (може да има опция да не оцветява редовете) но.. може да иска да зареди цлите файлове в паметта, и ако има активен wrap може малко да ги размества но пък лесно се изключва :D https://github.com/Microsoft/vscode/issues/34762 Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: jet в Dec 29, 2021, 01:58 diff -y file1 file2 | less
Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 29, 2021, 11:06 Хе-хе добрият стар coreutils е пълен с изненади
https://www.gnu.org/software/coreutils/manual/html_node/paste-invocation.html#paste-invocation The paste utility is a member of GNU Coreutils package, therefore it’s available on all Linux distros. The paste command just does one thing: Merge lines of files. It’s exactly what we need to solve our problems. Или пък ги вкарваш в БД /че ексела ще гръмне/ и после всеки туул дето чете от БД ще ги мачва вярно на 100 % щото ще са в две колони и по ред на номерата.... Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 29, 2021, 13:06 С VSCode може да пробваш някой от тези добавки Инсталирах го това VSCode по центос7 с инструкциите от тук: https://linuxize.com/post/how-to-install-visual-studio-code-on-centos-7/ МС си имат много яко репо за линукс. всичко им е подредено..Инсталира се с yum-а без никакви засечки...3 пакета по 100Мб. Отваря много бързо големите тxт файлове.....Дотук добре..Обаче този екстенжън за sync-scroll не работи. И той се инсталира без оплаквания, обаче не иска да си покзва опциите и не работи. Пробвах и един друг: https://marketplace.visualstudio.com/items?itemName=masakit.synchronized-scrolling Който също се инсталира без проблеми, има опции...обаче и той не работи. Сигурно по виндовс и двата ектенжъна ще работят ама тук НЕ. Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 29, 2021, 17:46 Тоя атом голям запек. Изобщо с голямо съмнение се отнасям към програми, които не си обявяват версиите във сайта. atom.x86_64.rpm
Много ми заприлича на скайпа. Абе инсталирай това което ти даваме и не задавай много въпроси. Много на комерсилно бие. Така първата atom.x86_64.rpm се оказа версия 1.58 и даде такива глупави депендаси под центос..... Втората която намерих, по-ниската беше 1.57. Тя се инсталира без оплаквания от рпм-а. Обаче не тръгна. Ни вопъл ни стон. Ни оплакване....просто отива на нов ред и не тръгва. Нямам време да се занимавам. И двете версия изцвъкани през 2 месеца през 2021. Ако от сега е така....какво остава за самата програма ако тръгне. Цитат Sorry to say, but over time, Atom has become increasingly incompatible with CentOS 7 (which was first released in 2014 and is mostly stable since then -- a lot of old dependencies there). Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: remotexx в Dec 29, 2021, 22:31 Съжалявам колега...
Ами значи ти остава само вградения /плъгин/ т.е. вграденото сравняване - трябва да работи https://stackoverflow.com/questions/59187587/vs-code-how-to-scroll-split-panels-simultaneously Но ако размества редове - само paste /from coreutils/ ще работи с всякой редактор /е верно read only - ама па ти така го искаш/ Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 30, 2021, 09:53 т.е. вграденото сравняване - трябва да работи Да работи, много бързо ги отваря и превърта. Файловете са с 1 200 000 реда. Обаче не е много интуитивно отварянето. Не може да ги отвориш по нормалния начин с 'Оpen' в два панела пък след това да им кажеш компаре. А трябва: Open folder file1 -> Select For Compare (нищо не се случва) file2 -> Compare With Selected (е сега ги отваря и двата) синхронно, превърта и почти всичко е наред, обаче изписва съобщение: "Cannot compare files because one file is too large." Което и точно това ми трябва....да не може да ги сравнява...- никакъв diff не се включва, няма оцветяване на файловете - само да ги превърта синхронно. :) Да благодарим на МС, че не може да прави diff на толкова големи файлове. Обаче има и проблем с Visual Studio Code, че word wrap-a не работи на големи файлове. Независимо дали ги отваряш по нормалния начин, или за compare. Пробвах го на малки - работи си. Както и да е, това с VSCode за сега е спасение на ситуацията. Титла: Re: Viewer/Editor който да показва 2 файла синхронно един до друг. Публикувано от: Naka в Dec 30, 2021, 11:40 Решение с vi:
gvim -O -c 'autocmd VimEnter * syncbind | colorscheme koehler' +'windo set noma wrap number relativenumber scrollbind' file1 file2 Оказа се че има пакет vim-X11 в който има графичното gvim. предимство е, че е по висока резолюцията отколкото конзолата, може да сменяш шрифта....има менюта и изглежда почти като текстови редактор. опциите: noma - без модификация (по добре от readonly, предпазва от натискане на insert) wrap - пренасяне на дългите редове number - номериране на редовете, в жълти цифри..много полезно relativenumber - още по полезно и приятно номериране като се включат и двете number + relativenumber става нещо което наричат хибридно номериране. https://jeffkreeftmeijer.com/vim-number/ браво на този дето го е измислил!!! scrollbind - заключване на скрола. Но не е достатъчно. трябва и команда :syncbind Автоматичното стартиране на команди става с това: -c 'autocmd VimEnter * syncbind | colorscheme koehler' https://stackoverflow.com/questions/6821033/vim-how-to-run-a-command-immediately-when-starting-vim https://stackoverflow.com/questions/8679742/vim-execute-command-after-multiple-files-loaded Цялата работа е да може да не се набира на ръка :syncbind - което вече наистина прави синхронизиран скрол. Но ако не става и се размества по време на работа може да се набира по едно профилактично :syncbind Тук VimEnter е някакъв event на vi-то който се запуска най-най-накрая, след зареждането на всичките файлове. | - е разделител на команди :colorscheme koehler - може и без това цялата тази измъчена 'красота' се слага в един алиас: alias {2less,less2}="gvim -O -c 'autocmd VimEnter * syncbind | colorscheme koehler' +'windo set noma wrap number relativenumber scrollbind'" и във файл /etc/profile.d/viZZZ-alias.sh за да е постоянно и за всички, но може да се сложи и в ~/.bashrc използване: 2less file1 file2 или less2 file1 file2 Превключването между двата ляв и десен прозорец става с ctrl+w Синхронизирания скрол работи само ако фокуса на мишката е във текущия прозорец - иначе размества. Но щом се върне в текущия прозорец и се превърти скрола малко нагоре - пак се намества. Това наместване без командата :syncbind не става! Та те така. Но все още търся по-нормален редактор с такава функционалност. |