最近编写Python的脚本很多,而且是在Django的平台下进行开发。以前都是使用vim的方式进行脚本的编写,虽然使用tmux,可以多页面来回切换,习惯了倒也不觉得麻烦。但是发现还是在windows下面有一个同步编辑器相对来说效率更高一点。

windows下面一直使用notepad++和sublime3作为文档编辑器。所以这里找到一种是办法,使用sublime作为eclipse使用。

下面配置sublime的办法基本都是基于×××才能实现的,所有如果考虑和我一样使用下面的插件,最好在×××之后,不然不能保证能正常完成。

安装插件

首先是给sublime安装package control组件,直接在线安装:

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

按Ctrl+`调出console,然后复制粘贴上面的内容,稍等一段时间就可以完成(建议在×××之后,不然可能会卡死掉sublime)

检查如果在Perferences->package settings中看到package control这一项,则安装成功了!

下面是sublime2的安装脚本,同样上面的操作

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

按下Ctrl+Shift+P调出命令面板,或者在tool -> command palette选项

输入install,选择 Install Package 选项并回车

稍等一下,这时间会根据你的网络状况决定

然后在输入搜索的插件的关键字,我们这里输入sftp,我采用的ssh的登陆方式,所有使用的sftp。

找到以后直接回车进行安装。

配置环境

选择project -> add folder to project,指定一个文件夹作为本地存放脚本的文件夹

然后在左边栏会出现你指定文件夹的名字,点击右键,选择sftp/ftp选项,开始配置文件(sftp-config.json),配置文件的地址其实就是在你本地文件夹的根目录下面

如果没有先左边的side Bar,可以执行Ctrl+Shift+P,然后输入view:,后面会提示side bar,回车就可以显示了

下面是我的配置内容,修改几个地方就能完成本地与线上的同步

{
    // The tab key will cycle through the settings when first created
    // Visit http://wbond.net/sublime_packages/sftp/settings for help

    // sftp, ftp or ftps
    "type": "sftp",

    "save_before_upload": true, 
    "upload_on_save": true,  #实现每次本地修改保存自动同步
    "sync_down_on_open": false,
    "sync_skip_deletes": false,
    "sync_same_age": true, 
    "confirm_downloads": false,
    "confirm_sync": false, #同步不需要进行确认
    "confirm_overwrite_newer": false,

    "host": "192.168.1.100", #远程服务器IP
    "user": "erye", #远程服务器登陆用户名
    "password": "123456",
    "port": "22",

    "remote_path": "/home/erye/", #远程服务器文件夹绝对路径
    "ignore_regexes": [ #本地忽略的文件及文件夹
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini",
        "\\.bashrc"
    ],
    //"file_permissions": "664",
    //"dir_permissions": "775",

    //"extra_list_connections": 0,

    "connect_timeout": 30,
    //"keepalive": 120,
    //"ftp_passive_mode": true,
    //"ftp_obey_passive_host": false,
    //"ssh_key_file": "~/.ssh/id_rsa",
    //"sftp_flags": ["-F", "/path/to/ssh_config"],

    "preserve_modification_times": true,
    //"remote_time_offset_in_hours": 0,
    //"remote_encoding": "utf-8",
    //"remote_locale": "C",
    //"allow_config_upload": false,}

配置文件里面很多可以使用默认,只需要把几个地方修改即可使用

完后配置之后,点击本地文件夹右键,选择sftp/ftp进行同步,将线上的文件同步到本地,也可以both同步。

后面进行脚本的编写,都将实时同步到线上,对于线上调试,本地编写相当给力啊

原文地址:http://ju.outofmemory.cn/entry/118843