如何检查是否连接到远程服务器?

How to check if connected to remote server?

我使用 tramp 连接到我公司的服务器。 如果我正在访问本地文件和远程文件,我想自定义我的功能以不同的方式工作。

是否有一个变量可以检查我正在访问的缓冲区是在远程服务器上还是在我的本地计算机上?

类似于:

if(TRAMP_CONNECTED)
 Do this
else
 Do that

最可靠的检查可能是 default-directory。此变量始终设置为本地缓冲区。如果 (file-remote-p default-directory) returns 非零,则您的缓冲区处于 TRAMP 控制之下。