1

YCM 是它具有客户端-服务器架构。YCM 的 Vim 部分只是一个与 ycmd 服务器对话的瘦客户端。

我认为 ycmd 服务器是在本地机器上运行的,而不是在外部机器上运行的吧?所以 YCM 不需要互联网连接就可以在 VIM 中正常工作,对吧?

4

1 回答 1

2

是的,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甚至不尝试连接到您的机器之外的东西。

于 2016-10-04T12:50:40.580 回答