Идеальный редактор или дружим Notepad++ с SFTP

    Преамбула

    «Однажды, в студеную зимнюю пору»… встала передо мной задачка править код на удаленном сервере, доступ к которому есть только по SSH.
    Ввиду того что код достаточно объемный и с большим количеством вложенных структур использование встроенного в Midnight Commander редактора становилось затруднительным. С этого момента начались мои хождения по гуглам и яндексам, дабы найти редактор с подсветкой синтаксиса, поддержкой сворачивания блоков и SFTP (Secure FTP, или «FTP через SSH»)…

    Амбула

    … Собственно редактор меня устраивал лишь один — давно известный Notepad++. Однако при всех своих достоинствах работать с SFTP он не умеет, и плагина, реализующего данный функционал я не нашел. Но нам не страшны преграды, поэтому заставить комфортно работать Notepad++ все-же удалось.

    Для этого необходима бесплатная OpenSource утилита WinSCP (взять можно на офф. сайте), позволяющая работать с файлами по протоколам FTP, SFTP и SCP. При достаточно большом функционале весит ~1.2Mb и, главное, позволяет реализовать задуманное.

    Итак, приступим.
    После установки открываем WinSCP. Видим достаточно простой и интуитивно понятный интерфейс. На первом этапе нас интересует раздел «Preferences» в левом меню. Выбрав его, попадаем на окно с выбором внешнего вида. Лично я предпочитаю «Norton Commander», но если стоит задача только правки файлов на удаленном сервере — вполне удобен «Export-like». Впрочем, это несущественно. А существенна еще одна кнопка «Preferences», которая есть в этом окне.
    Нажав ее, попадаем в расширеные настройки, где нас будет интересовать меню «Editors», где можно задать настройки редактора для определенных типов расширений файлов. По умолчанию для всех типов "*.*" используется встренный редактор. Но его мы использовать не будем, поэтому научим открывать Notepad++. Выбираем расширение "*.*" и жмем «Edit».
    В открывшемся окне поставим точку «External Editor» и пропишем путь к notepad++.exe. Установкой чекбокса на пункте «External editor opens multiple files...» дадим понять, что редактор умеет открывать разные файлы в отдельных Tab-ах, а установкой чекбокса на «Force text transfer mode...» — разрешим синхронизацию по Ctrl+S не дожидаясь закрытия внешнего редактора. Жмем «ОК». И еще раз. Настройка завершена.
    Теперь достаточно пройти в меню «Session», вбить настройки для подключения к хосту (при желании также можно сохранить их) — и вуаля! после коннекта (при первом — разрешаем сохранить публичный ключ) — видим окошко файлового менеджера.
    Щелкаем по файлу — открывается Notepad++. Правим, жмем Ctrl+S — измененный файл уже на сервере. Задача решена!

    Постскриптум

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

    Ах да… это мой первый хабратопик, так что не судите строго)
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 25

      0
      Весьма интересно, кому-то может пригодиться
        +1
        Есть еще вариант — через sFTP Drive — подключение sftp к системе в виде логического диска и работа с ним, как с обычнм разделом уже любым редактором. Автосинхронизация и прочие удобности. Утилита платная…
          0
          Вся проблема в том что платный не подходит :(
          0
          есть ещё бесплатная — WebDrive
            +1
            К сожалению не бесплатная, а Trial, $40…
              0
              а когда-то кажется была бесплатной или другая программа есть
            +1
            Надеюсь поддержку sFTP добавят в «FTP synchronize Plugin» для NP++ которыми я активно пользуюсь. Сохранение напрямую на ftp без всяких посредников и синхронизаторов — это прекрасно
              +1
              Для публичных веб серверов (с FTP) тоже этот плагин использую. Но существует он уже давно, а поддержки нету…
              0
              Заслуженный (и первый:) плюс в карму. Молодцом :)
                –1
                EditPlus может работать прямо на FTP.
                  0
                  FTP synchronize Plugin идет сразу в дистрибутиве Notepad++.
                  +1
                    0
                    В Linux-системах можно маунтить SFTP-разделы средствами системы насколько помню. Но у меня инструкция для окошек, ибо большую часть работы приходится выполнять под ними.
                      0
                      а что emacs под windows не работает? ;-)
                        0
                        Работать то он работает, но с установкой и настройкой повозится прийдется)
                          0
                          ниже дал ссылку, там все устанавливается инсталлятором
                          так что эти пункты откидываются
                          0
                          Тем более что для Windows поставляется в precompiled-версии, как оказалось.
                            +1
                            вот абсолютно полноценная последняя версия
                            ourcomments.org/cgi-bin/emacsw32-dl-latest.pl
                              0
                              За версию спасибо, поковыряю.
                              P.S.: ох умру я из-за этой vi-like навигации… с юзабилити в emac не слишком хорошо.
                    0
                    … есть только по SHH.
                    SSH =)
                      0
                      Поправил =)
                      0
                      Оффтоп: мне в NOTEPAD++ очень нравится магазин :)
                        0
                        коллеги не оценят
                        0
                        Наступил на теже грабли недавно, поскольку Хабр вышел одним из верхних в выдаче поисковика — читал и это и даже сделал по статье. Но так работать нормально не получается, есть затыки с тем что закрытый документ не сохраняется, а при переоткрытии Npp открываются локальные файлы вместо удаленных и тп глюки.
                        Но у Npp есть плагин NppFTP, который может и SFTP в том числе (и с авторизацией по сертификатам) — на чем я и успокоился.

                        Only users with full accounts can post comments. Log in, please.