如何像其他IDE一样在远程保存自己的vim配置,或其他散落在各个地方如.bashrc,.zshrc,iterm2等等配置文件,一直棘手的问题。
一直想找随时同步自己vim配置的插件(很多IDE天然支持了这个功能),受到 terminus-sync-config启发,写了一个vim插件,可以在vim编辑器中方便、快速的将你的任何配置文件推送到远程,或者从远程拉取下来,目前只支持gist(github提供的用于记录代码片段的仓库)。
功能
在配置gist id和本地文件路径和远程文件名的映射之后(这个配置也是为了防止误操作命令),使用vim打开配置文件后,可以使用:PushConfig和:PullConfig命令对配置文件进行同步操作。
上传
拉取
插件地址
安装
vim-plug
Plug 'Me1onRind/EscSync'
:PlugInstall
使用
申请一个github的access token
github.com/settings/to…
至少需要勾选上gist的权限。
创建你的gist仓库
gist.github.com
你可以选择权限是公开或私密的。
配置本地文件路径和远程文件名映射
如需要同步的文件是~/.vimrc, 注意本地文件路径一定要是绝对路径。
let g:esc_sync_files = {
\ "~/.vimrc": {"remote_filename": ".vimrc"},
\ }
配置gist id和token
let g:esc_sync_github_token = "ghp_xxxxxxxxxxxxxxxxxx"
let g:esc_sync_gist_id = "8b3b26ebe17149d54487a3xxxxxxxxxx"
" let g:esc_sync_backup = 0
let g:esc_sync_files = {
\ "~/.vimrc": {"remote_filename": ".vimrc"},
\ "/private/tmp/text": {"remote_filename": "testfile"},
\ }
如果你不想将你的token放到.vimrc里面,也可以设置到环境变量中
EXPORT ESC_SYNC_GITHUB_TOKEN = "ghp_xxxxxxxxxxxxxxxxxx"
同步文件
你只能对vim当前编辑的文件进行同步到远程,或者从远程同步到本地的操作。
配置g:esc_sync_backup当远程文件和本地文件不同时,在覆盖之前是否将本地文件备份到/tmp目录,默认开启,设置为0关闭。