vim 學習 - 初學者的生存快捷鍵和 C/C++ 插件配置

vim - 初學者的生存

我很是幸運能夠在初學 vim 的時候遇到這個文章:https://coolshell.cn/articles/5426.html. 它所倡導的幾點對於我這個 vim ,甚至能夠說 linux 初學者來講,是很是實在和使用的:css

  • 首先明白,你所面對的可能跟你以前接觸到的文本編輯器概念徹底不一樣,因此,把以前的概念拋置腦後~
  • 其次就是,vim 很難,真的須要學習,因此先打消不通過學習,只是嘗試就上手的念頭
  • 先倖存下來!!!
  • 一個可預期的不長不短的學習週期,就能夠得到一款多是終生受用的編譯器

生存要點:html

  1. vim 默認的是觀察狀態,而不是編譯狀態!(請扭轉觀念)
  2. 狀態轉換的快捷鍵是 - i 進入編譯狀態 - ESC 進入觀察狀態。 (先從拯救烏干達可憐兒童的界面中出來) !
  3. i 進入編譯模式,輸入 test。OK! 已經編譯了一個文本了
  4. 保存文件並退出 vim。先退出到觀察模式 ESC 保存 - :w 新文件命名並保存 - :w xxxx.xx 退出 - :q 保存並退出 - :wq 強制退出 - :!q

OK! 已經能夠生存下來了linux

C/C++ 插件配置 (初學者版)

如何配置 vim 插件

全部的(對於我這個初學者來講)插件設置都在 vimrc 這個文件中: 在 terminal 中輸入 vim ~/.vimrcgit

  • 配置分爲兩個部分:
  1. 首先是 vim 自己的顯示設置github

    "xxxxxxxxxxxxxxxxxxxxx 常規參數設置 xxxxxxxxxxxxxxxxxxxxxxx"
    
     set nocompatible            "去掉有關vi一致性模式,避免之前版本的bug和侷限
     set nu!                     "顯示行號
     filetype on                 "檢測文件的類型
     set history=1000            "記錄歷史的行數
     set background=dark         "背景使用黑色
     syntax on                   "語法高亮度顯示
     set autoindent              "當前行的對齊格式應用到下一行(自動縮進)
     set cindent                 "(cindent是特別針對 C語言語法自動縮進)
     set smartindent             "依據上面的對齊格式,智能的選擇對齊方式,對於>相似C語言編寫上有用
     set tabstop=4               "設置tab鍵爲4個空格,
     set shiftwidth =4           "設置當行之間交錯時使用4個空格
     set ai!                     " 設置自動縮進
     set showmatch               "設置匹配模式,相似當輸入一個左括號時會匹配相>應的右括號
     set guioptions-=T           "去除vim的GUI版本中得toolbar
     set vb t_vb=                "當vim進行編輯時,若是命令錯誤,會發出警報,該設置去掉警報
     set ruler                   "在編輯過程當中,在右下角顯示光標位置的狀態行
     set nohls                   "默認狀況下,尋找匹配是高亮度顯示,該設置關閉>高亮顯示

    若是有須要直接複製粘貼到 vimrc 中便可shell

  2. vim 插件管理 我使用的是 vim-plug,相比於老牌的 vundle,實在是快太多了。安裝方法:vim

    $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs 
      https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    Neovim 用戶可使用如下命令安裝 Vim-plug:
    $ curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs 
      https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

    在 vimrc 中也相應的須要有修改bash

    全部須要添加的插件都應當放置在 begin 和 end 之間curl

  3. 插件選擇及配置async

    做爲初學者,我只配置了三個功能的插件。參考http://www.skywind.me/blog/archives/2084

  • 代碼高亮

    "----------------------代碼高亮----------------------「
    Plug 'itchyny/lightline.vim'
  • 編譯測試

    1 "----------------------編譯測試----------------------「
    
     Plug 'skywind3000/asyncrun.vim'
    
    "...配置....「
    
    "自動打開 quickfix window,高度爲6
    let g:asyncrun_open = 6
    
    "任務結束時候響鈴
    let g:asyncrun_bell = 1
    
    "單文件運行
    nnoremap <silent> <F5> :AsyncRun -cwd=$(VIM_FILEDIR) -mode=4 "$(VIM_FILEDIR)/$(VIM_FILENOEXT)" <cr>
    
    "設置F10打開/關閉 Quickfix 窗口
    nnoremap <F6> :call asyncrun#quickfix_toggle(6)<cr>
    
    "測試可否編譯F7
     nnoremap <silent> <F7> :AsyncRun gcc -Wall -O2 "$(VIM_FILEPATH)" -o "$(VIM_FILEDIR)/$(VIM_FILENOEXT)" <cr>
  • 語法檢查

    Plug 'w0rp/ale'
    
    "配置"
    
    "ale
    
    "始終開啓標誌列
    let g:ale_sign_column_always = 1
    let g:ale_set_highlights = 0
    
    "自定義error和warning圖標
    let g:ale_sign_error = '✗'
    let g:ale_sign_warning = '⚡'
    
    "在vim自帶的狀態欄中整合ale
    let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
    
    "顯示Linter名稱,出錯或警告等相關信息
    let g:ale_echo_msg_error_str = 'E'
    let g:ale_echo_msg_warning_str = 'W'
    let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
    
    "普通模式下,sp前往上一個錯誤或警告,sn前往下一個錯誤或警告
    nmap sp <Plug>(ale_previous_wrap)
    nmap sn <Plug>(ale_next_wrap)
    
    "<Leader>s觸發/關閉語法檢查
    nmap <Leader>s :ALEToggle<CR>
    
    "<Leader>d查看錯誤或警告的詳細信息
    nmap <Leader>d :ALEDetail<CR>
  1. 安裝插件

    進入 vim,PlugInstall 安裝插件

相關文章
相關標籤/搜索