vimrc


map/imap/inoremap/nmap

map:在命令模式下有效

imap:在插入模式有效

inoremap:在插入模式有效,nore表示不遞歸no recursion:例如:inoremap Y yinoremap y Y並不會出現無限循環

nmap:命令模式下生效,normal map。

命令映射
map <c-z> u             用ctrl+z的快捷鍵表示u,都可以用於回退
imap <c-z> <ESC>u<CR>i      在插入模式下使用ctrl-z也可以表示u的功能
map <c-y> <c-r>
imap <c-y> <ESC><c-r><CR>i    撤銷撤回
map <c-c> y
imap <c-c> <ESC>y<CR>i     ctrl+c表示復制
map <c-s> :w! <CR>        
imap <c-s> <ESC>:w!<CR>i     ctrl+s保存
nmap sc :source ~/.vimrc<CR>  不需要輸入“:”就可以使命令生效,直接在視圖狀態下就輸入sc就相當於source了vimrc
nmap <C-a> <ESC>ggvG<END><CR>  全選
inoremap <C-a> <ESC>ggvG<END><CR>i
自動補全
inoremap <s-p> <C-x><C-n>   英文單詞自動補全
inoremap ( ()<ESC>i         補全括號,不推薦使用
inoremap ) <c-r>=ClosePair(')') 補全括號
inoremap { {}<ESC>i         補全括號
inoremap } <c-r>=ClosePair('}') 補全括號
注釋
nmap <S-I> 0i//<ESC>:w!<CR>    shift+insert注釋一行
nmap <S-D> 0xx            shift+delet去除一行的注釋
vmap <S-I> I//<ESC>         在行選擇模式下shift+insert注釋多行
vmap <S-D> xx<ESC>

去空格
nnoremap <F2> :g/^\s*$/d<CR>

列出當前目錄
map <F2> :tabnew . <CR>
nmap <F2> :NERDTreeToggle<CR> 這個需要安裝插件

鍵表 |key-notation| 
<k0> - <k9> 小鍵盤 0 到 9 *keypad-0* *keypad-9* 
<S-...> Shift+鍵 *shift* *<S-* 
<C-...> Control+鍵 *control* *ctrl* *<C-* 
<M-...> Alt+鍵 或 meta+鍵 *meta* *alt* *<M-* 
<A-...> 同 <m-...> *<A-* 
<t_xx> termcap 里的 "xx" 入口鍵 

set tabstop=4      //tab占4個空格大小
set expandtab      //tab轉換成空格
set number           //文件顯示行數
set ruler                //Vim窗口的右下角顯示光標的行列信息
set showcmd       //Vim窗口的右下角顯示一個完整的命令已經完成的部分
set autoindent      //自動縮進
set hlsearch          //高亮顯示
set syntax on      //顯示語法
set ignorecase       //在搜索時忽略大小寫
set backspace=indent,eol,start     //在Insert模式,支持backspace鍵

:set pastetoggle=<F9> "解決在Vim中粘貼代碼后,縮進就全亂了
:set mouse=v "鼠標選擇 運用系統粘貼版
:set virtualedit=onemore "允許光標移動到剛剛超過行尾的位置
:set tabstop=4 "設定制表符寬度
:set shiftwidth=4 "設置縮進寬度
set ai " 自動縮進
syntax on " 自動語法高亮
set cursorline " 突出顯示當前行
set ruler " 打開狀態欄標尺
set softtabstop=4 " 使得按退格鍵時可以一次刪掉 4 個空格
set nobackup " 覆蓋文件時不備份
set autochdir " 自動切換當前目錄為當前文件所在的目錄
set backupcopy=yes " 設置備份時的行為為覆蓋
set showmatch " 插入括號時,短暫地跳轉到匹配的對應括號
set matchtime=2 " 短暫跳轉到匹配括號的時間
set magic " 設置魔術
set hidden " 允許在有未保存的修改時切換緩沖區,此時的修改由 vim 負責保存

set guioptions-=T " 隱藏工具欄
set guioptions-=m " 隱藏菜單欄
set smartindent " 開啟新行時使用智能自動縮進
set backspace=indent,eol,start
" 不設定在插入狀態無法用退格鍵和 Delete 鍵刪除回車符
set cmdheight=1 " 設定命令行的行數為 1
set laststatus=2 " 顯示狀態欄 (默認值為 1, 無法顯示狀態欄)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\     " 設置在狀態行顯示的信息

set ignorecase smartcase " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感
set nu

 

"打開文件后光標自動跳到上次關閉文件的位置
autocmd BufReadPost *
                \ if line("'\"")>0&&line("'\"")<=line("$") |
                \   exe "normal g'\"" |
                \ endif
 
十字光標
set cursorline
hi cursorline guibg=#0080E6
hi cursorline guibd=#A080E6
set cursorcolumn

tab相關

set expendtab         # 用空格替代tab,也可以用:set extab
set tabstop = 4       # 設置tab包含幾個字符,也可以使用:set ts = 4
set shiftwidth = 4 # 設置智能縮進的縮進數 set autoindent # 自動縮進 :set ai set smartindent # 智能縮進 : set si,對齊整數個tab來縮進
set et          # 與set expendtab,set extab一樣用空格代替tab
set et!         # 取消用空格代替tab,在寫makefile文件的時候需要這個設置。

設置語法高亮

syntax on
au BufNewFile,BufRead *.{c,h,cpp} setf c
au BufNewFile,BufRead *.sv set filetype=systemverilog

搜索高亮設置

set hlsearch                                  # 開啟搜索高亮,set nohlsearch可以關閉
hi   Search term=standout ctermfg=0 ctermbg=3 # 設置高亮的顏色 命令模式輸入hi 可以查看有哪些可以設置。

設置leader鍵

let maplead = ","
let g:mapleader = ","
這樣<leader>就可以與其他字母組成命令,比如nmap <leader>ab xxxx

快速插入一段代碼

iab al  <ESC>:read ~/v_demo/always.v<CR>i
將~/v_demo/always.v文件中的內容插入

設置界面顏色

let g:solarized_bold=0
let g:solarized_italic=0
let g:solarized_termcolors=256
let g:solarized_contrast="high"
let g:solarized_visibility="high"
let g:solarized_hitrail=1
syntax enable
set background=dark
colorscheme solarized

參考鏈接

設置不區分大小寫

:set ignorease

滑動條

:set guioptions+=b  //顯示下邊的滑動條
:set guioptions-=r //關閉右側的滑動條

跳來跳去的ctags

1、安裝
    sudo apt-get install ctags
2、使用
    2.1將安裝的ctags的路徑添加到bashrc的path中,安裝完應該默認就加入了
    2.2產生需要跳轉文件的索引文件:ctag -f filename -R dir,filename是要產生索引文件的名字,dir是要去檢索的文件夾,-R選項就會遞歸檢索。
    2.3將產生的索引文件加入到vimrc的tags變量中:set tags+=索引文件路徑
    2.4ctrl+]跳轉到要查找變量的定義位置,ctrl+6跳回來。

 minibufexplorer

下載地址 [http://www.vim.org/scripts/script.php?script_id=159]
版本     6.3.2
安裝     將下載的 minibufexpl.vim文件丟到 \~/.vim/plugin 文件夾中即可
手冊     在minibufexpl.vim 文件的頭部

參考鏈接

設置gvim打開窗口的大小和在屏幕中的位置

set lines = 62         " 設置列數
set columns = 192      " 設置行數
winpos 160 0           " 設置在窗口中的位置。
 1 set number
 2 set ts=4
 3 map <c-s> :w!<CR>
 4 imap <c-s> <ESC> :w!<CR>i
 5 map <c-c> y
 6 imap <c-c> <ESC>y<CR>i
 7 map <c-z> u
 8 imap <c-z> <ESC>u<CR>i
 9 map <c-y> <c-r>
10 imap <c-y> <ESC><c-r><CR>i
11 nmap <C-a> <ESC>ggvG<END><CR>
12 inoremap <C-a> <ESC>ggvG<END><CR>i
13 
14 set cursorline
15 hi cursorline guibg=#0080E6
16 set cursorcolumn
17 let g:solarized_bold=0
18 let g:solarized_italic=0
19 let g:solarized_termcolors=256
20 let g:solarized_contrast="high"
21 let g:solarized_visibility="high"
22 let g:solarized_hitrail=1
23 syntax enable
24 set background=dark
25 colorscheme industry
26 set guioptions-=T
27 set guioptions-=m
28 set smartindent 
29 set cursorline
30 :set shiftwidth=4
31 set ai 
32 set softtabstop=4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM