vim配置
下載地址:https://github.com/wklken/k-vim
安裝步驟:
1. clone 到本地
git clone https://github.com/wklken/k-vim.git
2. 安裝依賴包
2.1 系統依賴 # ctags, ag(the_silver_searcher)
# ubuntu sudo apt-get install ctags sudo apt-get install build-essential cmake python-dev #編譯YCM自動補全插件依賴 sudo apt-get install silversearcher-ag
# centos sudo yum install python-devel.x86_64 sudo yum groupinstall 'Development Tools' sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install the_silver_searcher sudo yum install cmake
# mac brew install ctags brew install the_silver_searcher
2.2 使用Python
sudo pip install flake8 yapf
2.3 如果使用Javascript(不需要的跳過)
# 安裝jshint和jslint,用於javascript語法檢查 # 需要nodejs支持,各個系統安裝見文檔 https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager # ubuntu sudo apt-get install nodejs npm sudo npm install -g jslint sudo npm install jshint -g sudo npm install -g eslint eslint-plugin-standard eslint-plugin-promise eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-html babel-eslint # mac brew install node npm install jshint -g npm install jslint -g npm install -g eslint eslint-plugin-standard eslint-plugin-promise eslint-config-standard eslint-plugin-import eslint
3. 安裝
進入目錄, 執行安裝
# 注意原先裝過的童鞋, 重裝時,不要到~/.vim下執行(這是軟連接指向k-vim真是目錄),必須到k-vim原生目錄執行
# 會進入安裝插件的列表,一安裝是從github clone的,完全取決於網速, 之后會自動編譯 YCM, 編譯失敗的話需要手動編譯, 有問題見YCM文檔
cd k-vim/ sh -x install.sh
移除安裝
cd ~ && rm -rf .vim .vimrc .vimrc.bundles && cd -
安裝完成后,終端輸入vim使用底部會報這樣的錯:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM core library not detected; you need to compile YCM before
using it. Follow the instructions in the documentation.
Press ENTER or type command to continue
解決方法:
chan@ubuntu1804:/opt/k-vim$ cd ~
chan@ubuntu1804:~$ cd .vim/bundle/YouCompleteMe
chan@ubuntu1804:~/.vim/bundle/YouCompleteMe$ ./install.py Searching Python 2.7 libraries... Found Python library: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so Found Python headers folder: /usr/include/python2.7 -- The C compiler identification is GNU 7.3.0 -- The CXX compiler identification is GNU 7.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PythonLibs: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.15rc1", minimum required is "2.7") -- NOT using libclang, no semantic completion for C/C++/ObjC will be available -- NOT using clang-tidy for static analysis. -- Configuring done -- Generating done -- Build files have been written to: /tmp/ycm_build_dRh434 Scanning dependencies of target BoostParts [ 2%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/codecvt_error_category.cpp.o [ 4%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/operations.cpp.o [ 6%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path.cpp.o [ 9%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path_traits.cpp.o [ 11%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/portability.cpp.o [ 13%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/unique_path.cpp.o [ 16%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/utf8_codecvt_facet.cpp.o [ 18%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/windows_file_codecvt.cpp.o [ 20%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/c_regex_traits.cpp.o [ 23%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cpp_regex_traits.cpp.o [ 25%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cregex.cpp.o [ 27%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/fileiter.cpp.o [ 30%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/icu.cpp.o [ 32%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/instances.cpp.o [ 34%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/posix_api.cpp.o [ 37%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex.cpp.o [ 39%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o [ 41%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o [ 44%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_traits_defaults.cpp.o [ 46%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/static_mutex.cpp.o [ 48%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/usinstances.cpp.o [ 51%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o [ 53%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wc_regex_traits.cpp.o [ 55%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o [ 58%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/winstances.cpp.o [ 60%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/system/src/error_code.cpp.o [ 62%] Linking CXX static library libBoostParts.a [ 62%] Built target BoostParts Scanning dependencies of target ycm_core [ 65%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o [ 67%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o [ 69%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Character.cpp.o [ 72%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CharacterRepository.cpp.o [ 74%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePoint.cpp.o [ 76%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePointRepository.cpp.o [ 79%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o [ 81%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o [ 83%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o [ 86%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o [ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o [ 90%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o [ 93%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Word.cpp.o [ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o [ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o [100%] Linking CXX shared library /opt/k-vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so [100%] Built target ycm_core -- The C compiler identification is GNU 7.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found PythonLibs: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so (found version "2.7.15rc1") -- Configuring done -- Generating done -- Build files have been written to: /tmp/regex_build__rzBEy Scanning dependencies of target _regex [ 33%] Building C object CMakeFiles/_regex.dir/regex_2/_regex.c.o [ 66%] Building C object CMakeFiles/_regex.dir/regex_2/_regex_unicode.c.o [100%] Linking C shared library /opt/k-vim/bundle/YouCompleteMe/third_party/ycmd/third_party/cregex/regex_2/_regex.so [100%] Built target _regex chan@ubuntu1804:~/.vim/bundle/YouCompleteMe$
終端再次輸入vim使用正常