最近编写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同步。 后面进行脚本的编写,都将实时同步到线上,对于线上调试,本地编写相当给力啊