vim實用操作

多行註釋與刪除註釋

參考:vim常用命令之多行註釋和多行刪除

多行刪除

命令輸入:32,65d,刪除32-65行
ndd,刪除光標所在的向下n行。
:set nu 顯示行號

Vundle插件管理

vundle是一款插件管理工具。安裝方式:
1. 清空.vim/ 下的所有原生目錄,再通過如下命令安裝 vundle:git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
2. 在 .vimrc 增加相關配置信息。
3. 安裝插件,在 .vimrc 中執行 :PluginInstall;卸載::PluginClean;更新: :PluginUpdate。
參考:https://github.com/yangyangwithgnu/use_vim_as_ide#2

文件跳轉:ctrlp.vim

當你想打開某個文件時,只要按下 Ctrl + p 快捷鍵,輸入文件名。 所有和這個文件名匹配的文件都會被按照優先級列出來,按下 enter 或者 Ctrl + t 就可以在當前 buffer 或者新 tab 頁打開你要的文件了。
.vimrc中的配置:

let g:ctrlp_map = '<c-p>' 
let g:ctrlp_cmd = 'CtrlP'
" 設置過濾不進行查找的後綴名 
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$' 

參考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

自動補全:YouCompleteMe(YCM)

自動代碼補全工具。
配置:

" 設置跳轉到方法/函數定義的快捷鍵 
nnoremap <leader>j :YcmCompleter GoToDefinitionElseDeclaration<CR> 
" 觸發補全快捷鍵 
let g:ycm_key_list_select_completion = ['<TAB>', '<c-n>', '<Down>'] 
let g:ycm_key_list_previous_completion = ['<S-TAB>', '<c-p>', '<Up>'] 
let g:ycm_auto_trigger = 1 
" 最小自動觸發補全的字符大小設置爲 3 
let g:ycm_min_num_of_chars_for_completion = 3 
" YCM的previw窗口比較惱人,還是關閉比較好 
set completeopt-=preview 

參考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

內容搜索:ag.vim

安裝vim的ag插件必須先安裝ag命令行工具。
配置:nnoremap <leader>ag :Ag! ""<left>
參考:http://www.zlovezl.cn/articles/vim-plugins-cannot-live-without/

我的.vimrc

" 定義快捷鍵的前綴,即<Leader>
let mapleader=";"

" 開啓文件類型偵測
filetype on
" 根據偵測到的不同類型加載對應的插件
filetype plugin on
" 設置一個tab佔用4個空格,並將tab替換爲空格
set tabstop=4
set expandtab
" 基於縮進或語法進行代碼摺疊
"set foldmethod=indent
set foldmethod=syntax
" 啓動 vim 時關閉摺疊代碼
set nofoldenable
"za,打開或關閉當前摺疊;zM,關閉所有摺疊;zR,打開所有摺疊

nnoremap <leader>j gt
nnoremap <leader>k gT
" 設置快捷鍵將選中文本塊複製至系統剪貼板
vnoremap <leader>y "+y
" 設置快捷鍵將系統剪貼板內容粘貼至 vim
nmap <Leader>p "+p
" 定義快捷鍵關閉當前分割窗口
nmap <Leader>q :q<CR>
" 定義快捷鍵保存當前窗口內容
nmap <Leader>w :w<CR>
" 定義快捷鍵保存所有窗口內容並退出 vim
nmap <Leader>WQ :wa<CR>:q<CR>
" 依次遍歷子窗口
nnoremap <leader>n <C-W><C-W>

" 讓配置變更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC

" vundle 環境設置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必須位於 vundle#begin() 和 vundle#end() 之間
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'kien/ctrlp.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'rking/ag.vim'
" Plugin 'vim-signature'
" 插件列表結束
call vundle#end()
filetype plugin indent on

" CtrlP
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" filter some suffixes
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$'

" YouCompleteMe
" 設置跳轉到方法/函數定義的快捷鍵 
nnoremap <leader>d :YcmCompleter GoToDefinitionElseDeclaration<CR> 
" " 觸發補全快捷鍵 
let g:ycm_key_list_select_completion = ['<TAB>', '<c-n>', '<Down>'] 
let g:ycm_key_list_previous_completion = ['<S-TAB>', '<c-p>', '<Up>'] 
let g:ycm_auto_trigger = 1 
" " 最小自動觸發補全的字符大小設置爲 3 
let g:ycm_min_num_of_chars_for_completion = 3 
" " YCM的previw窗口比較惱人,還是關閉比較好 
set completeopt-=preview 

" ag
nnoremap <leader>ag :Ag! ""<left>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章