You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用本地Vim通过远程WP-CLI管理WordPress?

使用本地Vim通过WP-CLI远程编辑Gravity Forms表单

我刚好碰到过类似的需求!核心问题是当你用--ssh参数时,WP-CLI会把整个命令(包括调用编辑器的操作)扔到远程机器上执行,所以默认会打开远程的Vim。要改用本地Vim,有两种靠谱的方案:

方案一:分步操作(简单直接,无需额外配置)

如果只是偶尔编辑表单,这种方法最省心,不需要折腾环境变量或脚本:

  • 第一步:把远程表单导出到本地文件
    wp gf form get 4 --ssh=remoteWP --path="/home/wp/disk/wordpress" > form-4.json
    
  • 第二步:用本地Vim编辑文件
    vim form-4.json
    
  • 第三步:把编辑后的文件更新回远程WordPress
    wp gf form update 4 --ssh=remoteWP --path="/home/wp/disk/wordpress" < form-4.json
    

方案二:一键编辑(配置后一步到位,适合高频使用)

如果经常需要远程编辑表单,配置一下就能像本地编辑一样方便,核心是让远程机器把临时文件传给本地Vim,编辑完再传回去:

前置准备

确保远程机器可以无密码SSH到你的本地机器(反之你已经能远程连过去,现在要反过来):

  1. 在本地生成SSH密钥对(如果还没有):ssh-keygen -t ed25519
  2. 把本地的公钥(~/.ssh/id_ed25519.pub)复制到远程机器的~/.ssh/authorized_keys里
  3. 确保本地开启了SSH服务,并且防火墙允许远程机器连接22端口

配置远程编辑脚本

  1. 登录到远程机器,创建一个脚本文件,比如~/bin/local-vim-edit.sh:
    #!/bin/bash
    TEMP_FILE="$1"
    LOCAL_TEMP="/tmp/wp-form-$(basename "$TEMP_FILE")"
    LOCAL_USER="你的本地用户名"
    LOCAL_IP="你的本地公网IP或内网IP(如果远程和本地在同一内网)"
    
    # 把远程临时文件复制到本地
    scp "$TEMP_FILE" "$LOCAL_USER@$LOCAL_IP:$LOCAL_TEMP"
    
    # 调用本地Vim编辑文件
    ssh "$LOCAL_USER@$LOCAL_IP" "vim '$LOCAL_TEMP'"
    
    # 把编辑后的文件传回远程
    scp "$LOCAL_USER@$LOCAL_IP:$LOCAL_TEMP" "$TEMP_FILE"
    
    # 清理本地临时文件
    ssh "$LOCAL_USER@$LOCAL_IP" "rm '$LOCAL_TEMP'"
    
  2. 给脚本添加执行权限:
    chmod +x ~/bin/local-vim-edit.sh
    

一键编辑命令

现在你可以直接用这条命令调用本地Vim编辑远程表单:

wp gf form edit 4 --ssh=remoteWP --path="/home/wp/disk/wordpress" --env=EDITOR=~/bin/local-vim-edit.sh

如果嫌命令太长,可以在本地创建一个别名:

alias wp-remote='wp --ssh=remoteWP --path="/home/wp/disk/wordpress" --env=EDITOR=~/bin/local-vim-edit.sh'

之后只需输入wp-remote gf form edit 4就能一键编辑了!

注意事项

  • 如果本地没有公网IP,远程机器无法直接连接你,这时候可以用反向SSH隧道或者ngrok之类的工具做端口转发,不过配置会复杂一些。
  • 脚本里的LOCAL_USER和LOCAL_IP要替换成你自己的本地用户名和IP哦。

内容的提问来源于stack exchange,提问作者jjk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:59:59