YCM 是它具有客户端-服务器架构。YCM 的 Vim 部分只是一个与 ycmd 服务器对话的瘦客户端。
我认为 ycmd 服务器是在本地机器上运行的,而不是在外部机器上运行的吧?所以 YCM 不需要互联网连接就可以在 VIM 中正常工作,对吧?
YCM 是它具有客户端-服务器架构。YCM 的 Vim 部分只是一个与 ycmd 服务器对话的瘦客户端。
我认为 ycmd 服务器是在本地机器上运行的,而不是在外部机器上运行的吧?所以 YCM 不需要互联网连接就可以在 VIM 中正常工作,对吧?
是的,ycmd
是本地服务器进程。使用 YCM 时,您可以轻松找到它。例如在 Linux 主机上:
$ ps ax | grep ycmd
19298 ? Ssl 0:00 /usr/bin/python2 /home/sysuser/.vim/bundle/YouCompleteMe/python/ycm/../../third_party/ycmd/ycmd --port=53805 --options_file=/tmp/tmpNUlVoT --log=info --idle_suicid
然后你可以检查它的所有连接:
$ netstat -p | grep 19298
tcp 0 0 localhost:53805 localhost:38069 ESTABLISHED 19298/python2
tcp 0 0 localhost:53805 localhost:37996 ESTABLISHED 19298/python2
不管有没有 TCP 连接——它们都使用环回路由。即ycmd
甚至不尝试连接到您的机器之外的东西。