日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu下安装并配置VIM编辑器

發布時間:2024/4/24 Ubuntu 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu下安装并配置VIM编辑器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu?16.04 下安裝Vim

默認已經安裝了VIM-tiny

  • linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al

  • lrwxrwxrwx 1 root root 17 12月 9 21:12 /etc/alternatives/vi -> /usr/bin/vim.tiny

  • lrwxrwxrwx 1 root root 20 12月 9 21:13 /usr/bin/vi -> /etc/alternatives/vi

  • -rw-r--r-- 1 root root 59 12月 23 2015 /usr/lib/x86_64-linux-gnu/espeak-data/voices/asia/vi

  • -rw-r--r-- 1 root root 1415 11月 11 2015 /usr/share/bash-completion/completions/ldapvi

  • -rw-r--r-- 1 root root 475 4月 21 2016 /var/lib/dpkg/alternatives/vi

  • 下面我們以Ubuntu14.04(Unity)安裝完整版VIM(VIM-basic)為例:

    在終端輸入以下命令,則會自動安裝:

    sudo apt-get install vim

    自動安裝完之后,可以使用以下命令進行查看:

    已經添加到系統

    update-alternatives --display vi

    查看版本

    vim --version

    VIM配置

    注:只對各個用戶在自己的當前目錄下的.vimrc修改的話,修改內容只對本用戶有效,要想全部有效,可以修改/etc/vim/vimrc.

    在終端下使用vim進行編輯時,默認情況下,編輯的界面上是沒有顯示行號、語法高亮度顯示、智能縮進等功能的。為了更好的在vim下進行工作,需要手動設置一個配置文件:.vimrc。

    啟動vim時,當前用戶根目錄下的.vimrc文件會被自動讀取,該文件可以包含一些設置甚至腳本,所以,一般情況下把.vimrc文件創建在當前用戶的根目錄下比較方便,即創建的命令為

    $vi ~/.vimrc

    設置完后 :x或者:x或者wq 進行保存退出即可。

    下面給出一個例子,其中列出了經常用到的設置,詳細的設置信息請參照參考資料

    基本配置[1] [2]

  • "開啟語法高亮

  • syntax on

  • "依文件類型設置自動縮進

  • filetype indent plugin on

  • ?
  • "顯示當前的行號列號:

  • set ruler

  • "在狀態欄顯示正在輸入的命令

  • set showcmd

  • ?
  • "關閉/打開配對括號高亮

  • "NoMatchParen

  • DoMatchParen

  • 行號的顯示與隱藏[3]:

  • ?
  • "顯示行號:

  • set number

  • "為方便復制,用<F2>開啟/關閉行號顯示:

  • nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>

  • 啟用Modeline(即允許被編輯的文件以注釋的形式設置Vim選項,詳見Vim Wiki: Modeline magic)[4]:

    set modeline

    如果終端使用的是深色背景:

  • "為深色背景調整配色

  • set background=dark

  • 插件管理

    下文的配置很多都依賴于第三方開發的 Vim 插件。為了方便地安裝和維護這些插件,推薦先安裝一種插件管理工具,目前較為流行的是 Vundle 和 pathogen。二者功能類似,但 Vundle 的配置更靈活, pathogen 則相對簡潔。二者都能很好地與Git結合,安裝插件十分方便。

    如果你使用 Git 管理你的配置文件,那么還可以將 Pathogen 或 Vundle 與 Git 的 Submodule 功能管理插件結合[5],使得在多臺電腦間同步插件及在本地更新插件變得十分便捷。

  • # 在存放配置文件的主文件夾下,添加一個 submodule

  • git submodule add https://github.com/gmarik/vundle.git .vim/bundle/vundle

  • ?
  • # 用類似的辦法添加多個插件后,以后升級插件只需:

  • git submodule update

  • ?
  • # 如果其它電腦 checkout 出配置文件后,要先:

  • git submodule init

  • 插件管理工具無需通過系統的包管理系統安裝,只要將需要的文件放在 ~/.vim/目錄中即可。這樣,一套配置文件也可以方便地用在多個不同的系統環境中。

    代碼補全

    Vim 7已經內置了代碼補全功能[6],補全操作可分為兩種:

    關鍵字補全

    即簡單地補全到文檔中已有的詞,快捷鍵為 Ctrl-N 或 Ctrl-P。

    智能補全

    Vim 7中引入 Omni Complete,可根據語義補全,快捷鍵為 Ctrl-X Ctrl-O。
    Vim的補全菜單操作方式與一般IDE的方式不同,可加入如下設置[7]:

  • "讓Vim的補全菜單行為與一般IDE一致(參考VimTip1228)

  • set completeopt+=longest

  • ?
  • "離開插入模式后自動關閉預覽窗口

  • autocmd InsertLeave * if pumvisible() == 0|pclose|endif

  • ?
  • "回車即選中當前項

  • inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"

  • ?
  • "上下左右鍵的行為

  • inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"

  • inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"

  • inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"

  • inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"

  • 如需自動補全,可安裝AutoComplPop插件,安裝后如需在補全是顯示文檔(預覽),可加入設置:

    let g:acp_completeoptPreview = 1

    注釋管理

    經常要將一段代碼注釋掉或取消注釋,而尤其對于某些只支持單行注釋的語言來說,逐行加注釋很麻煩,這時快速注釋(或取消注釋)代碼的插件就顯得很有用了。

    常見的注釋管理插件為The NERD Commenter,默認支持多種語言,使用方法也很簡單:只需在可視(V)模式中選擇一段代碼,按下\cc加逐行注釋,\cu取消注釋,\cm添加塊注釋。

    如有其它需求,也可考慮comments、EnhCommentify等插件。

    縮進

    使用自動縮進可能需要設置,vim中對自動縮進的詳細設置辦法見Vim代碼縮進設置。

    在不同的模式中調整縮進的方法不同:

    插入模式

    Ctrl-T增加縮進,Ctrl-D減小縮進。

    命令模式

    >> 右縮進, << 左縮進,注意n<< 或 n>>是縮進多行,如4>>

    可視模式

    < 、 > 用于左右縮進, n< 、 n> 可做多節縮進,如 2> 。
    另外,= 可對選中的部分進行自動縮進;]p可以實現p的粘貼功能,并自動縮進。

    代碼瀏覽與跳轉

    代碼跳轉類似于IDE中的Ctrl+點擊功能。與代碼補全類似,代碼瀏覽工具亦可分為基于文本分析的和基于代碼理解的兩類。

    簡單代碼跳轉

    在命令模式下可直接使用下述指令:[8]

    跳轉到定義

    gd到局部變量的定義,gD到全局變量的定義

    搜索

    *, # 可對光標處的詞向前/向后做全詞搜索,g*, g# 做相對應的非全詞匹配搜索

    代碼塊首尾

    [[, ]] 可跳到當前代碼塊起始或結束的大括號處。

    括號首尾

    % 可在配對的括號、塊首尾之前跳轉。

    位置歷史

    Ctrl-O 在歷史記錄中后臺,Ctrl-I 則為前進。

    基于代碼理解的跳轉

    該功能依賴于ctags工具。[9]安裝好ctags后,在存放代碼的文件夾運行

    ctags -R .

    即可生成一個描述代碼結構的tags文件。

    提示: ctags的功能很強大,更詳細的配置請參考其文檔。

    建議在~/.vimrc中添加如下配置以使Vim在父目錄中尋找tags文件[10]:

    set tags=tags;/

    設置好后,可在Vim中使用如下功能:Ctrl-]轉至最佳匹配的相應Tag,Ctrl-T返回上一個匹配。如果有多個匹配,g Ctrl-]可顯示所有備選的tags。如有需要,可互換Ctrl-]和g Ctrl-] [11]:

  • "在普通和可視模式中,將<c-]>與g<c-]>互換

  • nnoremap <c-]> g<c-]>

  • vnoremap <c-]> g<c-]>

  • ?
  • nnoremap g<c-]> <c-]>

  • vnoremap g<c-]> <c-]>

  • 就地編譯和錯誤處理

    使用:make可調用make命令編譯程序,配合Vim內置的QuickFix功能,可以像IDE一樣打開一個窗口展示編譯錯誤和警告,通過它還可以方便地跳轉到各編譯錯誤的產生位置。

    常用的命令有:cw[indow](如有錯誤打開quickfix窗口)、:cn(跳到下一個錯誤)、:cp(跳到前一個錯誤)等,具體可:help quickfix。

    如果想在有錯時自動打開quickfix窗口[12]:

  • " 編譯后,如有錯誤則打開quickfix窗口。(光標仍停留在源碼窗口)

  • "

  • " 注意:需要開啟netsting autocmd

  • autocmd QuickFixCmdPost [^l]* nested cwindow

  • autocmd QuickFixCmdPost l* nested lwindow

  • 默認情況下,:mak[e]會跳轉到第一個錯誤,如果不想啟用這個功能,請使用:make!。

    代碼折疊

    代碼較長時可啟用代碼折疊功能,如按語法高亮元素折疊:

  • set foldmethod=syntax

  • "默認情況下不折疊

  • set foldlevel=99

  • 隨后即可使用z系列命令管理代碼折疊。如za會翻轉當前位置的折疊狀態,zA會遞歸翻轉當前層所有代碼的折疊狀態等。當然也可以把功能鍵映射到za:

    map <F3> za

    查看文檔

    K 鍵可用于查看當前函數的文檔。

    其它插件

    近來仍被積極維護的代碼托管在 GitHub 上的插件[13]:

  • Fugitive 讓 Vim 更好地與 Git 整合。
  • Powerline 炫麗實用的狀態
  • Tagbar 比 taglist 更現代的代碼結構瀏覽工具
  • The NERD tree 以樹形結構瀏覽文件夾中的文件
  • Syntastic 語法檢查
  • surround.vim 快速刪除/修改光標周圍配對的括號
    其它常用插件[14]:
  • Project
    方便管理工程中的文件

    snipmate.vim
    在編輯中實現模板展開

    a.vim
    在.cpp/.h等文件對中跳轉

    matchit.zip
    增強%的功能

    winmanager
    將文件管理窗口和taglist堆疊起來。

    Vim 8.0 釋出??http://www.linuxidc.com/Linux/2016-09/135178.htm

    Linux下編譯安裝Vim8.0??http://www.linuxidc.com/Linux/2017-01/139210.htm

    Vim學習指南?http://www.linuxidc.com/Linux/2013-08/89096.htm

    Vim編輯器配置?http://www.linuxidc.com/Linux/2016-09/135460.htm

    Vim編輯器使用?http://www.linuxidc.com/Linux/2016-09/135043.htm

    快速學會 Vi編輯器?http://www.linuxidc.com/Linux/2013-08/88586.htm

    強大的Vim 編輯器?http://www.linuxidc.com/Linux/2013-07/87544.htm

    Linux文本編輯器Vim的一般用法??http://www.linuxidc.com/Linux/2016-11/137263.htm

    把Vim打造成優秀的C++ IDE??http://www.linuxidc.com/Linux/2016-06/132262.htm

    Ubuntu 14.04升級Vim7.4到8.0??http://www.linuxidc.com/Linux/2016-11/136816.htm

    Vim安裝youcompleteme自動補全插件??http://www.linuxidc.com/Linux/2016-11/137665.htm

    Linux Vim編輯器使用簡單講解??http://www.linuxidc.com/Linux/2016-12/138930.htm

    本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-01/139564.htm

    Ubuntu?16.04 下安裝Vim

    默認已經安裝了VIM-tiny

  • linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al

  • lrwxrwxrwx 1 root root 17 12月 9 21:12 /etc/alternatives/vi -> /usr/bin/vim.tiny

  • lrwxrwxrwx 1 root root 20 12月 9 21:13 /usr/bin/vi -> /etc/alternatives/vi

  • -rw-r--r-- 1 root root 59 12月 23 2015 /usr/lib/x86_64-linux-gnu/espeak-data/voices/asia/vi

  • -rw-r--r-- 1 root root 1415 11月 11 2015 /usr/share/bash-completion/completions/ldapvi

  • -rw-r--r-- 1 root root 475 4月 21 2016 /var/lib/dpkg/alternatives/vi

  • 下面我們以Ubuntu14.04(Unity)安裝完整版VIM(VIM-basic)為例:

    在終端輸入以下命令,則會自動安裝:

    sudo apt-get install vim

    自動安裝完之后,可以使用以下命令進行查看:

    已經添加到系統

    update-alternatives --display vi

    查看版本

    vim --version

    VIM配置

    注:只對各個用戶在自己的當前目錄下的.vimrc修改的話,修改內容只對本用戶有效,要想全部有效,可以修改/etc/vim/vimrc.

    在終端下使用vim進行編輯時,默認情況下,編輯的界面上是沒有顯示行號、語法高亮度顯示、智能縮進等功能的。為了更好的在vim下進行工作,需要手動設置一個配置文件:.vimrc。

    啟動vim時,當前用戶根目錄下的.vimrc文件會被自動讀取,該文件可以包含一些設置甚至腳本,所以,一般情況下把.vimrc文件創建在當前用戶的根目錄下比較方便,即創建的命令為

    $vi ~/.vimrc

    設置完后 :x或者:x或者wq 進行保存退出即可。

    下面給出一個例子,其中列出了經常用到的設置,詳細的設置信息請參照參考資料

    基本配置[1] [2]

  • "開啟語法高亮

  • syntax on

  • "依文件類型設置自動縮進

  • filetype indent plugin on

  • ?
  • "顯示當前的行號列號:

  • set ruler

  • "在狀態欄顯示正在輸入的命令

  • set showcmd

  • ?
  • "關閉/打開配對括號高亮

  • "NoMatchParen

  • DoMatchParen

  • 行號的顯示與隱藏[3]:

  • ?
  • "顯示行號:

  • set number

  • "為方便復制,用<F2>開啟/關閉行號顯示:

  • nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>

  • 啟用Modeline(即允許被編輯的文件以注釋的形式設置Vim選項,詳見Vim Wiki: Modeline magic)[4]:

    set modeline

    如果終端使用的是深色背景:

  • "為深色背景調整配色

  • set background=dark

  • 插件管理

    下文的配置很多都依賴于第三方開發的 Vim 插件。為了方便地安裝和維護這些插件,推薦先安裝一種插件管理工具,目前較為流行的是 Vundle 和 pathogen。二者功能類似,但 Vundle 的配置更靈活, pathogen 則相對簡潔。二者都能很好地與Git結合,安裝插件十分方便。

    如果你使用 Git 管理你的配置文件,那么還可以將 Pathogen 或 Vundle 與 Git 的 Submodule 功能管理插件結合[5],使得在多臺電腦間同步插件及在本地更新插件變得十分便捷。

  • # 在存放配置文件的主文件夾下,添加一個 submodule

  • git submodule add https://github.com/gmarik/vundle.git .vim/bundle/vundle

  • ?
  • # 用類似的辦法添加多個插件后,以后升級插件只需:

  • git submodule update

  • ?
  • # 如果其它電腦 checkout 出配置文件后,要先:

  • git submodule init

  • 插件管理工具無需通過系統的包管理系統安裝,只要將需要的文件放在 ~/.vim/目錄中即可。這樣,一套配置文件也可以方便地用在多個不同的系統環境中。

    代碼補全

    Vim 7已經內置了代碼補全功能[6],補全操作可分為兩種:

    關鍵字補全

    即簡單地補全到文檔中已有的詞,快捷鍵為 Ctrl-N 或 Ctrl-P。

    智能補全

    Vim 7中引入 Omni Complete,可根據語義補全,快捷鍵為 Ctrl-X Ctrl-O。
    Vim的補全菜單操作方式與一般IDE的方式不同,可加入如下設置[7]:

  • "讓Vim的補全菜單行為與一般IDE一致(參考VimTip1228)

  • set completeopt+=longest

  • ?
  • "離開插入模式后自動關閉預覽窗口

  • autocmd InsertLeave * if pumvisible() == 0|pclose|endif

  • ?
  • "回車即選中當前項

  • inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"

  • ?
  • "上下左右鍵的行為

  • inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"

  • inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"

  • inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"

  • inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"

  • 如需自動補全,可安裝AutoComplPop插件,安裝后如需在補全是顯示文檔(預覽),可加入設置:

    let g:acp_completeoptPreview = 1

    注釋管理

    經常要將一段代碼注釋掉或取消注釋,而尤其對于某些只支持單行注釋的語言來說,逐行加注釋很麻煩,這時快速注釋(或取消注釋)代碼的插件就顯得很有用了。

    常見的注釋管理插件為The NERD Commenter,默認支持多種語言,使用方法也很簡單:只需在可視(V)模式中選擇一段代碼,按下\cc加逐行注釋,\cu取消注釋,\cm添加塊注釋。

    如有其它需求,也可考慮comments、EnhCommentify等插件。

    縮進

    使用自動縮進可能需要設置,vim中對自動縮進的詳細設置辦法見Vim代碼縮進設置。

    在不同的模式中調整縮進的方法不同:

    插入模式

    Ctrl-T增加縮進,Ctrl-D減小縮進。

    命令模式

    >> 右縮進, << 左縮進,注意n<< 或 n>>是縮進多行,如4>>

    可視模式

    < 、 > 用于左右縮進, n< 、 n> 可做多節縮進,如 2> 。
    另外,= 可對選中的部分進行自動縮進;]p可以實現p的粘貼功能,并自動縮進。

    代碼瀏覽與跳轉

    代碼跳轉類似于IDE中的Ctrl+點擊功能。與代碼補全類似,代碼瀏覽工具亦可分為基于文本分析的和基于代碼理解的兩類。

    簡單代碼跳轉

    在命令模式下可直接使用下述指令:[8]

    跳轉到定義

    gd到局部變量的定義,gD到全局變量的定義

    搜索

    *, # 可對光標處的詞向前/向后做全詞搜索,g*, g# 做相對應的非全詞匹配搜索

    代碼塊首尾

    [[, ]] 可跳到當前代碼塊起始或結束的大括號處。

    括號首尾

    % 可在配對的括號、塊首尾之前跳轉。

    位置歷史

    Ctrl-O 在歷史記錄中后臺,Ctrl-I 則為前進。

    基于代碼理解的跳轉

    該功能依賴于ctags工具。[9]安裝好ctags后,在存放代碼的文件夾運行

    ctags -R .

    即可生成一個描述代碼結構的tags文件。

    提示: ctags的功能很強大,更詳細的配置請參考其文檔。

    建議在~/.vimrc中添加如下配置以使Vim在父目錄中尋找tags文件[10]:

    set tags=tags;/

    設置好后,可在Vim中使用如下功能:Ctrl-]轉至最佳匹配的相應Tag,Ctrl-T返回上一個匹配。如果有多個匹配,g Ctrl-]可顯示所有備選的tags。如有需要,可互換Ctrl-]和g Ctrl-] [11]:

  • "在普通和可視模式中,將<c-]>與g<c-]>互換

  • nnoremap <c-]> g<c-]>

  • vnoremap <c-]> g<c-]>

  • ?
  • nnoremap g<c-]> <c-]>

  • vnoremap g<c-]> <c-]>

  • 就地編譯和錯誤處理

    使用:make可調用make命令編譯程序,配合Vim內置的QuickFix功能,可以像IDE一樣打開一個窗口展示編譯錯誤和警告,通過它還可以方便地跳轉到各編譯錯誤的產生位置。

    常用的命令有:cw[indow](如有錯誤打開quickfix窗口)、:cn(跳到下一個錯誤)、:cp(跳到前一個錯誤)等,具體可:help quickfix。

    如果想在有錯時自動打開quickfix窗口[12]:

  • " 編譯后,如有錯誤則打開quickfix窗口。(光標仍停留在源碼窗口)

  • "

  • " 注意:需要開啟netsting autocmd

  • autocmd QuickFixCmdPost [^l]* nested cwindow

  • autocmd QuickFixCmdPost l* nested lwindow

  • 默認情況下,:mak[e]會跳轉到第一個錯誤,如果不想啟用這個功能,請使用:make!。

    代碼折疊

    代碼較長時可啟用代碼折疊功能,如按語法高亮元素折疊:

  • set foldmethod=syntax

  • "默認情況下不折疊

  • set foldlevel=99

  • 隨后即可使用z系列命令管理代碼折疊。如za會翻轉當前位置的折疊狀態,zA會遞歸翻轉當前層所有代碼的折疊狀態等。當然也可以把功能鍵映射到za:

    map <F3> za

    查看文檔

    K 鍵可用于查看當前函數的文檔。

    其它插件

    近來仍被積極維護的代碼托管在 GitHub 上的插件[13]:

  • Fugitive 讓 Vim 更好地與 Git 整合。
  • Powerline 炫麗實用的狀態
  • Tagbar 比 taglist 更現代的代碼結構瀏覽工具
  • The NERD tree 以樹形結構瀏覽文件夾中的文件
  • Syntastic 語法檢查
  • surround.vim 快速刪除/修改光標周圍配對的括號
    其它常用插件[14]:
  • Project
    方便管理工程中的文件

    snipmate.vim
    在編輯中實現模板展開

    a.vim
    在.cpp/.h等文件對中跳轉

    matchit.zip
    增強%的功能

    winmanager
    將文件管理窗口和taglist堆疊起來。

    Vim 8.0 釋出??http://www.linuxidc.com/Linux/2016-09/135178.htm

    Linux下編譯安裝Vim8.0??http://www.linuxidc.com/Linux/2017-01/139210.htm

    Vim學習指南?http://www.linuxidc.com/Linux/2013-08/89096.htm

    Vim編輯器配置?http://www.linuxidc.com/Linux/2016-09/135460.htm

    Vim編輯器使用?http://www.linuxidc.com/Linux/2016-09/135043.htm

    快速學會 Vi編輯器?http://www.linuxidc.com/Linux/2013-08/88586.htm

    強大的Vim 編輯器?http://www.linuxidc.com/Linux/2013-07/87544.htm

    Linux文本編輯器Vim的一般用法??http://www.linuxidc.com/Linux/2016-11/137263.htm

    把Vim打造成優秀的C++ IDE??http://www.linuxidc.com/Linux/2016-06/132262.htm

    Ubuntu 14.04升級Vim7.4到8.0??http://www.linuxidc.com/Linux/2016-11/136816.htm

    Vim安裝youcompleteme自動補全插件??http://www.linuxidc.com/Linux/2016-11/137665.htm

    Linux Vim編輯器使用簡單講解??http://www.linuxidc.com/Linux/2016-12/138930.htm

    本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-01/139564.htm

    總結

    以上是生活随笔為你收集整理的ubuntu下安装并配置VIM编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。