網站首頁 編程語言 正文
文章目錄
- vim介紹
- 安裝vim
- vim手動配置
- 快速配置
vim介紹
1、Vim/Vi 是一個文本編輯器,多適用在Linux/UNIX系統;早期是Vi,現在增強版是Vim,但使用的還是Vi的操作。
2、Vim/Vi 沒有菜單,只有命令。
3、作用:建立、編輯、顯示文本文件,編寫代碼。
常用操作:
Vi有三種工作模式:正常模式、插入模式、底行模式。
1、正常模式切換到插入模式:按i或者o
2、插入模式切換到正常模式:按Esc
3、正常模式切換底行模式:按shift+:(冒號),在冒號后面輸入w保存;輸入q退出;輸入wq保存并退出;輸入!wq強制保存并退出…
安裝vim
在使用linux時,我們可以利用yum命令,該命令用于查找、安裝或者刪除指定的軟件包,當參數設置為 -y時,表示安裝過程提示選擇全部為“yes”,直接輸入 sudo yum -y install vim 如圖所示:
vim手動配置
配置vim就是為了寫代碼以及編輯內內容等操作起來時方便而且有美化界面,快速注釋功能,模板補全功能,工程瀏覽功能,代碼補全功能。
手動配置的時候要找到 .vimrc 這個隱藏文件也是環境設置文件 在普通用戶后面輸入ls -al 就會出現 .vimrc這個隱藏文件 如圖:
如果沒有出現 可以輸入 vim .vimrc直接創建 然后把如下指令粘貼到 .vimrc這個文件中。當然并不是統一標準這只是我之前使用(在網上找的配置),后面就使用了非常方便vimforcpp(下面會講到)
" vim 自身功能配置
set nu " line number
set cursorline " row line
set cursorcolumn "col line
set hlsearch
set laststatus=2
set nowrap
" 前導鍵
let mapleader=“;”
" 基礎配置
" filetype plugin on
" 命令映射, 表示前導鍵
nmap LB 0
nmap LE $
nmap q :q
nmap w :w
nmap Q :qa!
" 設置快捷鍵遍歷子窗口
" " 依次遍歷
nnoremap nw
" 跳轉至右方的窗口
nnoremap lw l
" 跳轉至方的窗口
nnoremap hw h
" 跳轉至上方的子窗口
nnoremap kw k
" 跳轉至下方的子窗口
nnoremap jw j
" 讓配置變更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 實時搜索
set incsearch
" vim 自動補全
set wildmenu
" 關閉兼容模式
set nocompatible " vundle required
" 插件安裝
" vundle 環境設置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必須位于 vundle#begin() 和 vundle#end() 之間
call vundle#begin()
" let Vundle manage Vundle, required
Plugin ‘VundleVim/Vundle.vim’
Plugin ‘altercation/vim-colors-solarized’
Plugin ‘octol/vim-cpp-enhanced-highlight’
Plugin ‘Lokaltog/vim-powerline’
Plugin ‘scrooloose/nerdcommenter’
Plugin ‘SirVer/ultisnips’
Plugin ‘honza/vim-snippets’
Plugin ‘scrooloose/nerdtree’
Plugin ‘sjl/gundo.vim’
Plugin ‘Valloric/YouCompleteMe’
"Plugin ‘Valloric/YouCompleteMe’
" 插件列表結束
call vundle#end()
filetype plugin indent on
" code scheme
syntax enable
syntax on
" set background=light
" colorscheme solarized
" powerline scheme
let g:Powerline_colorscheme=‘solarized256’
" 代碼縮進
" 設置編輯時制表符占用空格數
set tabstop=4
" 設置格式化時制表符占用空格數
set shiftwidth=4
" 自適應不同語言的智能縮進
filetype indent on
" 基于縮進或語法進行代碼折疊
set foldmethod=indent
"set foldmethod=syntax
set nofoldenable
" vim-snippets
" let g:UltiSnipsExpandTrigger=“”
" let g:UltiSnipsJumpForwardTrigger=“”
" let g:UltiSnipsJumpBackwardTrigger=“”
let g:UltiSnipsExpandTrigger=“”
let g:UltiSnipsJumpForwardTrigger=“”
let g:UltiSnipsJumpBackwardTrigger=“”
let g:UltiSnipsEditSplit=“vertical”
" 啟用:Man命令查看各類man信息
source $VIMRUNTIME/ftplugin/man.vim
"
" " 定義:Man命令查看各類man信息的快捷鍵
nmap man :Man 3
" 使用 NERDTree 插件查看工程文件。設置快捷鍵,速記:file list
nmap fl :NERDTreeToggle
" 設置 NERDTree 子窗口寬度
let NERDTreeWinSize=22
" 設置 NERDTree 子窗口位置
let NERDTreeWinPos=“right”
" 顯示隱藏文件
let NERDTreeShowHidden=1
" NERDTree 子窗口中不顯示冗余幫助信息
let NERDTreeMinimalUI=1
" 刪除文件時自動刪除文件對應 buffer
let NERDTreeAutoDeleteBuffer=1
" 調用 gundo 樹
nnoremap ud :GundoToggle
" YCM 補全菜單配色
" 菜單
highlight Pmenu ctermfg=2 ctermbg=3 guifg=#005f87 guibg=#EEE8D5
" 選中項
"highlight PmenuSel ctermfg=2 ctermbg=3 guifg=#AFD700 guibg=#106900
" 補全功能在注釋中同樣有效
let g:ycm_complete_in_comments=1
" 允許 vim 加載 .ycm_extra_conf.py 文件,不再提示
let g:ycm_confirm_extra_conf=0
" 開啟 YCM 標簽補全引擎
let g:ycm_collect_identifiers_from_tags_files=1
" 禁止緩存匹配項,每次都重新生成匹配項
let g:ycm_cache_omnifunc=0
" " 語法關鍵字補全
let g:ycm_seed_identifiers_with_syntax=1
快速配置
這種方法非常適合我們新手使用,是一位大佬針對我們這種對vim配置方法不熟悉的新手封裝的一鍵式vim環境安裝包. 主要用在終端vim用戶, 目前只支持centos 7版本。如何配置:在自己的普通用戶后面輸入:curl -sf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 后面會再讓你輸入root用戶密碼也就是超級用戶 就可以直接自動安裝了如圖:
下載使用vim的時候就會出現這個樣子:
里面的比較方便的功能幾乎都在里面了,包括按大V快捷鍵分屏,小q鍵保存文件,Q保存文件并退出,ctrl+展示標簽如類,函數,全局變量什么的,ctrl+n打開文件樹,按\代碼折疊,ctrl+函數快速查找,ctrl+d快速注釋,下一個頁面ty上一個頁面tr ,ctrl+跳轉到函數的定義 ctrl+o回到原來的位置等等。
原文鏈接:https://blog.csdn.net/m0_59292239/article/details/125917741
相關推薦
- 2023-01-29 Python?第三方庫?openpyxl?的安裝過程_python
- 2023-04-07 git?stash的正確用法詳解_相關技巧
- 2023-02-06 shell腳本實戰之部署nginx腳本實例_nginx
- 2022-07-13 Andorid 自定義 View - 自定義屬性 - 屬性重復導致沖突
- 2022-04-15 python實現AES算法及AES-CFB8加解密源碼_python
- 2022-08-28 Centos解決顯卡驅動問題:NVIDIA-SMI has failed because it co
- 2022-07-23 C#操作windows系統進程的方法_C#教程
- 2022-01-17 rabbitmq出現 已安裝 rabbitmq-server 軟件包 post-installati
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支