在xshell等終端上看c++代碼用哪些插件更加方便?

用ctags、cscope進行函數跳轉、變數查找不方便啊。

如果用一些windows下面ide還需要把代碼搞到終端上面。麻煩


ctags csope是中世紀的解決方案,你需要youcompleteme。


非要在終端上看代碼么?如果必須的話,cscope需要配置一下,快捷鍵可以直接查看游標下面的變數的定義或者引用,或者可以配置查詢到結果不要馬上跳轉,而是輸出到quickfix窗口,不選中的話,不會跳轉到第一個,這樣能方便一些(特別是查看引用),類似一個高級別grep。

同時還可以使用插件:Source Explorer (SrcExpl) 給vim 提供類似 source insight 的功能

不一定在終端下的話,可以使用 source insight 或者 atom,atom 有大量插件干這事情,還有 remote-edit ,可以用sftp/ftp 的方式打開遠程文件,同時 autocomplete-clang 插件可以在不生成 cscope / ctags 這些中間文件的情況下,直接查找定義,並多tab打開。


vim+YouCompleteMe, 誰用誰知道


提一個本地開發的方案吧。就是本地看代碼,修改代碼的時候自動同步到伺服器上,伺服器上只用來編譯和運行。

IDE 應該有類似的插件(我知道 Jetbrains 家的有)。沒有的話就用 fswatch + rsync (或者 unison) 的方案:GitHub - emcrisostomo/fswatch: A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.

我最早是從 Quora 的這個回答里學到這個方案的: https://www.quora.com/Why-is-Unison-better-than-rsync/answer/Shrey-Banga

試過基於 NFS 的方案(Samba, ssh-fs),會有一些奇怪的 bug 和卡頓。如果用 Docker 或者 Vagrant 的方案在本地開虛擬機 (Docker 在 Windows 下目前也需要虛擬機)後用 NFS 映射到當前操作系統,應該情況會好些。


有款源於 Emacs 的神器:RTags。基於 clang 的詞法分析,支持精準的跳轉到聲明定義,支持查找符號以及所有引用和虛函數,支持 CMakeList、Makefile 導出工程配置文件,甚至還支持 rename 等功能。雖然目前 Vim 的綁定標記的是 wip,但是已經用了很長時間,感覺很順手。結合 YCM,有那麼一點 VS 的感覺了。


公司一般都有方案方便win和linux交互吧?


推薦閱讀:

Linux裡面的vim做什麼用的?我在terminal裡面輸入vi進入vi編輯器,可是不知道這個編輯器能實現什麼功能?
如何讓vim像網頁一樣按Ctrl+放大字型大小?
有沒有vim學習,經典,權威,完整的書?
怎麼向新手解釋 Emacs?
為什麼說gvim是最強大的編輯器?

TAG:Vim | C | 代碼閱讀 | Vim插件 |