Блог пользователя enot110

Автор enot110, 10 лет назад, По-русски

Всем привет! Я всю жизнь использовал windows и far manager для написания кода. Он очень шустрый, позволяет сразу делать много вещей, быстро смотреть/изменять input/output файлы, чекать консоль и многое-многое другое. Но, недавно созрела мысль "хочу полностью перейти на линукс", и то, что меня в этом больше всего останавливает -- я не знаю как в нем писать контесты так же удобно, как в винде. Полных аналогов фара под линуксом нету. (если есть, то можете мне о них рассказать, если это не Midnight Commander)

Поэтому, ищу текстовый редактор, который будет подходить под максимальное число требований:

  • максимально-шустрый (я к этому очень чувствителен, если будет задержка в лишние 0,1 сек между переключениями вкладок, я ее замечу)
  • возможность рассплитить экран на несколько частей (хочу слева писать код, справа-сверху входной файл, справа-снизу выходной)
  • курсор может свободно находиться за пределами конца строки (в far-е это называется cursor beyond end of line)
  • с интуитивно-понятным и удобным-стандартным интерфейсом (vim не предлагать)
  • конечно же, должна быть подсветка синтаксиса
  • желательно, хотя бы базовое автодополнение, но это не обязательно

Пожелания:

  • если легко будут настраиваться макросы (нажал F7, у тебя все скомпилировалось), это будет плюсом
  • легко настраиваемый -- например, можно легко поменять colorscheme или шрифт, если не нравится
  • можно сделать курсор "горизонтальным"
  • подсветка столбца, в котором находится курсор (в фаре эта опция называется cross, чтобы ее включить нужно прожмякать f9-o-u-c и поставить галочку)
  • можно включить автоматический перевод всех tab-ов в пробелы, но это не обязательно

Что используют линуксойды, чтобы писать контесты? В первую очередь, хочется услышать мнения тех, кто использовал far для контестов и знают, насколько он удобен.

P. S. Требования "нужно то, что можно юзать на финале" нету.

  • Проголосовать: нравится
  • +46
  • Проголосовать: не нравится

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +55 Проголосовать: не нравится

Мм, far это всё-таки очень самобытная и во многом уникальная вещь. Аналогов, которые совмещали бы в себе файловый менеджер и редактор, скорее всего, нет (во многом из-за парадигмы, что программа должна быть не кухонным комбайном, а идеальным инструментом, выполняющим одну функцию). Midnight Commander действительно не дотягивает по юзабилити. Были проекты по портированию фара, были разные поделки а-ля оригинал, но я в них особо не разбирался.

В мире GUI-редакторов бывают редакторы, заточенный под отдельный язык (какой-нибудь codeblocks для плюсов, Idea/Eclipse для джавы, etc). Они во многом бывают очень удобны, хотя в большинстве своём не подходят под первые твои три пункта и под многие хотелки. Бывают просто "программистские" редакторы типа Kate/Geany (почти эквивалентные программы для KDE/Gnome соответственно). Опять же, для написания контестов хватает с лихвой — снизу всегда доступна консоль, в которую можно переключиться по F4/F2, очень удобный подход. Бывает Sublime Text, который многим нравится — особо не пробовал, не знаю. Мне всё же не хватает удобной интеграции с консолью.

В мире консольных редакторов безусловно доминируют vim и emacs. Вот уж где возможностей для кастомизации — невероятный простор, т. е. все твои хотелки с лихвой мажорируются. Лично я бы советовал — пересилить себя и осилить vim, потому что вкупе с YouCompleteMe, который нынче ставится в казуальных дистрибутивах строкой "sudo apt-get install vim-youcompleteme" это вообще пушка, а не редактор.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Wal Commander я видел, смотрел, но он пока сильно не дотягивает до фара.

    Сильно заточенные под определенный язык редакторы обычно подтормаживают и это немного раздражает =/ "Простого программисткого редактора" скорее всего вполне хватит, но... в них я нигде не видел возможности сплитить экран. Sublime Text умеет сплитить, но с его сплитом есть пара небольших косяков :(

    Если хочется "быстрой интеграции с консолью" -- могу порекомендовать guake. Весьма удобная штука.

    Vim... Знаю я одну команду, которая все лето писала в vim-е. А потом пришла на полуфинал со словами "ой, far, что это, как неудобно" и... не прошла на финал :(

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится

      > Vim... Знаю я одну команду, Как это отоскоторая все лето писала в vim-е. А потом пришла на полуфинал со словами "ой, far, что это, как неудобно" и... не прошла на финал :(

      > P. S. Требования "нужно то, что можно юзать на финале" нету.

      Так какая для тебя разница, если ICPC уже неактуален? То, что какая-то команда не прошла на финал, не влияет на удобность редактора =)

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        ICPC еще актуален =)

        Просто, боюсь, что если, спустя длительный срок, приспособлюсь к виму, будут подобные проблемы, когда нужно будет пользоваться не вимом =/

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится

          Я пять лет пользуюсь vim, а на контестах с командой Far. У меня никогда таких пролем не возникало.

          • »
            »
            »
            »
            »
            »
            10 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

            Иногда только в коде возникают такие куски:

            cout << "Hello world" << endl;jjjjjjjjjjjjjjjjj

            или

            cout << "Hello world" << endl;zz

            :-)

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится

          я думаю таких проблем не будет. Сам пользуюсь вимом, но в нем не очень удобно в джаву(пусть даже с автокомплитом), на ней пишу в Eclipse/IDEA. Также иногда плюсы в QtCreator'e, если нужно использовать Qt. Проблем обычно не возникает, за исключением редких случаев использования привычных сочетаний клавиш.
          если интересно, могу скинуть свой .vimrc, да думаю не я один, судя по комментариям)

          ЗЫ. как определишься, напиши в конце "перепись вимеров завершена, всем спасибо, все свободны":)

»
10 лет назад, # |
  Проголосовать: нравится +46 Проголосовать: не нравится

Использовал FAR для контестов и знаю, насколько vim удобнее :)

С тех пор, как я с четвертой попытки таки смог осилить vim и за год написал свой .vimrc в уже 300+ строк, я пытаюсь активно переубеждать всех, кто думает, что это очень сложная штука. Да, штука сложная, да, порог вхождения высокий, да, интерфейс не такой интуитивный, как у FAR, но через пару недель пересиливания себя ты проникаешься vim spirit и начинаешь понимать, как оно работает.

По поводу хотелок -- удовлетворены все, кроме vim не предлагать (по очевидным причинам) и можно сделать курсор "горизонтальным" (потому что я не понимаю, что это значит). Остальное сделать можно, я только что проверил.

Так что я присоединяюсь к Максу и очень рекомендую тебе подумать в эту сторону. Если вдруг что -- готов оказывать посильную помощь в освоении.

P.S. Сам ты линуксойд, чтоб тебе кой8-р на твой андройд!

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

    Предлагаю emacs. Там можно сделать все, что можно сделать Vim. А также можно сделать курсор горизонтальным ( переменная cursor-type) (c выбором толщины, на картинке она равна 2 пикселя) и поиграть в тетрис:

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Иногда (очень редко) все-таки возникают трудности которые по простому не получается осилить. Например нету такой естесственной вещи для far/IDE кодера как просто удаление, только вырезания в буфферы (можно конечно в "черную дыру", но если даже добавить что-то типа nmap E "_d, все равно получаются странности типа удаление строки по Ed).