如何配置 Vim 以使用比特幣核心 C++ 程式碼並具有類似智能感知的功能?
我使用 Vim 進行編輯,我安裝了 Conquer Of Completion (COC) 外掛,現在我可以使用 Vim 編輯 C++ 項目,利用語法突出顯示、自動完成、內聯錯誤消息等。但是當我嘗試打開比特幣原始碼文件時,我得到了錯誤太多,例如:
Too many errors emitted, stopping now
'wallet/coinselection.h' file not found
Unknown type name 'OutputGroup'
等等。是否有在 Vim 中使用原始碼的最佳實踐,或者至少有一些您可以分享的一般性建議?
謝謝!
我發現了問題,必須為Clangd語言伺服器生成一個基於項目的建構數據庫才能完成它的工作。為此,我使用了Bear,這是一個攔截建構命令並為 clang 工具 (compile_commands.json) 生成編譯數據庫的工具。我還製作了一個影片:https ://www.youtube.com/watch?v=5tkgqzxic-Q (西班牙語),解釋了我是如何進行安裝和配置的。一有時間,我將製作影片的英文版並更新此答案。
我懷疑這是您的外掛而不是 Vim 的問題。嘗試禁用外掛,看看是否有同樣的問題。我可以毫無問題地打開和編輯所有比特幣核心原始碼文件,包括
wallet/coinselection.h
使用 Vim。我無論如何都不是 Vim 專家(希望有人會回答),但對於一般使用 Vim 的建議(不是比特幣核心特定的)vimrc是一種流行的 Vim 配置,這個Changelog 播客包含許多使用 Vim 的技巧,包括客人的點文件的連結。
您需要使用vimdiff來審查拉取請求。正如 Jon Atack 在本文件中所說:
在建構和測試執行時,開始在本地環境中使用差異工具分別審查每個送出,如 gitk、meld、meld for macOS、GNU ediff for Emacs、vimdiff 或 vim-diffconflicts for Vim、opendiff on macOS 或 diffoscope
還有一個 Vi/Vim StackExchange。