溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux之.vimrc人性化配置參數(shù)(可照搬)

發(fā)布時(shí)間:2020-06-12 19:25:59 來(lái)源:網(wǎng)絡(luò) 閱讀:440 作者:warrent 欄目:系統(tǒng)運(yùn)維

以下內(nèi)容均來(lái)自老男孩出版的《shell編程實(shí)戰(zhàn)》


set nocompatible
set history=100
filetype on
filetype plugin on
filetype indent on
set autoread
set mouse=a
syntax enable
set cursorline
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00
set nofen
set fdl=0
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
set ai
set si
set wrap
set sw=4
set wildmenu
set ruler
set cmdheight=1
set lz
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
set magic
set noerrorbells
set novisualbell
set showmatch
set mat=2
set hlsearch
set ignorecase
set encoding=utf-8
set fileencodings=utf-8
set termencoding=utf-8
set smartindent
set cin
set showmatch
set guioptions-=T
set guioptions-=m
set vb t_vb=
set laststatus=2
set pastetoggle=<F9>
set background=dark
highlight Search ctermbg=black  ctermfg=white guifg=white guibg=black
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
        call setline(1, "#!/bin/bash")
        call setline(2, "#Author:Ray")
        call setline(3, "#Blog:https://blog.51cto.com/14154700")
        call setline(4, "#Time:".strftime("%F %T"))
        call setline(5, "#Name:".expand("%"))
        call setline(6, "#Version:V1.0")
        call setline(7, "#Description:This is a test script.")
    endif
endfunc

將上述的vim的配置文件.vimrc上傳到Linux系統(tǒng)的“~”目錄下(只對(duì)該用戶生效),或者增加到/etc/vimrc文件中(全局文件,對(duì)所有用戶都生效),然后退出SSH客戶端重新登錄,即可應(yīng)用.vimrc里對(duì)應(yīng)的設(shè)置。

以上配置的vim功能如下:

  • 只要是以.sh為擴(kuò)展名的文件,就會(huì)自動(dòng)增加版權(quán)信息;
  • 當(dāng)代碼量較大時(shí)比較有用的高級(jí)功能——代碼折疊,在命令模式下,可以將光標(biāo)定位到需要折疊的開始行,然后執(zhí)行zf3j(其中3是指定要折疊多少行),便可以折疊當(dāng)前行及下面三行的代碼,若把光標(biāo)放在對(duì)應(yīng)折疊后的行上,按空格鍵即可展開折疊的行。
  • 有時(shí)從外部復(fù)制部分shell代碼到當(dāng)前腳本后發(fā)現(xiàn)縮進(jìn)是亂的,可以將vim編輯器調(diào)整為命令模式(按Esc鍵),然后將光標(biāo)定位到要調(diào)整的行開頭,接下來(lái)按“v”鍵,然后用鍵盤上下鍵選定要調(diào)整的多行代碼,選中后按“=”鍵即可將代碼調(diào)整為規(guī)整的格式。

關(guān)于上述的配置解釋如下:

"關(guān)閉兼容模式
set nocompatible
"設(shè)置歷史記錄步數(shù)
set history=100
"開啟相關(guān)插件
filetype on
filetype plugin on
filetype indent on
"當(dāng)文件在外部被修改時(shí),自動(dòng)更新該文件
set autoread
"激活鼠標(biāo)的使用
set mouse=a
"""""""""""""""""""""
" => 字體和顏色
"""""""""""""""""""""
"開啟語(yǔ)法
syntax enable
"設(shè)置字體
"set guifont=dejaVu\ Sans\ MONO\ 10
"
""設(shè)置配色
"colorscheme desert
"高亮顯示當(dāng)前行
set cursorline
hi cursorline guibg=#00ff00
hi CursorColumn guibg=#00ff00
"""""""""""""""""""""
" => 代碼折疊功能 by oldboy
"""""""""""""""""""""
"激活折疊功能
set foldenable
"設(shè)置按照語(yǔ)法方式折疊(可簡(jiǎn)寫set fdm=XX)
"有6種折疊方法:
"manual 手工定義折疊
"indent 更多的縮進(jìn)表示更高級(jí)別的折疊
"expr   用表達(dá)式來(lái)定義折疊
"syntax 用語(yǔ)法高亮來(lái)定義折疊
"diff   對(duì)沒有更改的文本進(jìn)行折疊
"marker 對(duì)文中的標(biāo)志進(jìn)行折疊
set foldmethod=manual
"設(shè)置折疊區(qū)域的寬度
"如果不為0,則在屏幕左側(cè)顯示一個(gè)折疊標(biāo)識(shí)列
"分別用“-”和“+”來(lái)表示打開和關(guān)閉的折疊。
set foldcolumn=0
"設(shè)置折疊層數(shù)為3
setlocal foldlevel=3
"設(shè)置為自動(dòng)關(guān)閉折疊
set foldclose=all
"用空格鍵來(lái)代替zo和zc快捷鍵實(shí)現(xiàn)開關(guān)折疊
"zo  O-pen a fold   (打開折疊)
"zc  C-lose a fold  (關(guān)閉折疊)
"zf  F-old creation (創(chuàng)建折疊)
nnoremap <space> @=((foldclosed(line('.')) < 0)  'zc' : 'zo')<CR>
"""""""""""""""""""""
" => 文字處理 by oldboy
"""""""""""""""""""""
"使用空格來(lái)替換Tab
set expandtab
"設(shè)置所有的Tab和縮進(jìn)為4個(gè)空格
set tabstop=4
"設(shè)定 << 和 >> 命令移動(dòng)時(shí)的寬度為4
set shiftwidth=4
"使得按退格鍵時(shí)可以一次刪掉4個(gè)空格
set softtabstop=4
set smarttab
"縮進(jìn),自動(dòng)縮進(jìn)(繼承前一行的縮進(jìn))
"set autoindent命令關(guān)閉自動(dòng)縮進(jìn),是下面配置的縮寫。
"可使用autoindent命令的簡(jiǎn)寫,即 “:set ai” 和 “:set noai”。
"還可以使用“ :set ai sw=4”在一個(gè)命令中打開縮進(jìn)并設(shè)置縮進(jìn)級(jí)別。
set ai
"智能縮進(jìn)
set si
"自動(dòng)換行
set wrap
"設(shè)置軟寬度
set sw=4
"""""""""""""""""""""
" => Vim 界面 by oldboy
"""""""""""""""""""""
"Turn on WiLd menu
set wildmenu
"顯示標(biāo)尺
set ruler
"設(shè)置命令行的高度
set cmdheight=1
"顯示行數(shù)
"set nu
"Do not redraw, when running macros.. lazyredraw
set lz
"設(shè)置退格
set backspace=eol,start,indent
"Bbackspace and cursor keys wrap to
set whichwrap+=<,>,h,l
"Set magic on(設(shè)置魔術(shù))
set magic
"關(guān)閉遇到錯(cuò)誤時(shí)的聲音提示
"關(guān)閉錯(cuò)誤信息響鈴
set noerrorbells
"關(guān)閉使用可視響鈴代替呼叫
set novisualbell
"顯示匹配的括號(hào)([{和}])
set showmatch
"How many tenths of a second to blink
set mat=2
"搜索時(shí)高亮顯示搜索到的內(nèi)容
set hlsearch
"搜索時(shí)不區(qū)分大小寫
"還可以使用簡(jiǎn)寫(“:set ic” 和 “:set noic”)
set ignorecase
"""""""""""""""""""""
" => 編碼設(shè)置
"""""""""""""""""""""
"設(shè)置編碼
set encoding=utf-8
"設(shè)置文件編碼
set fileencodings=utf-8
"設(shè)置終端編碼
set termencoding=utf-8
"""""""""""""""""""""
" => 其他設(shè)置 by oldboy 2010
"""""""""""""""""""""
"開啟新行時(shí)使用智能自動(dòng)縮進(jìn)
set smartindent
set cin
set showmatch
"隱藏工具欄
set guioptions-=T
"隱藏菜單欄
set guioptions-=m
"置空錯(cuò)誤鈴聲的終端代碼
set vb t_vb=
"顯示狀態(tài)欄 (默認(rèn)值為 1, 表示無(wú)法顯示狀態(tài)欄)
set laststatus=2
"粘貼不換行問(wèn)題的解決方法
set pastetoggle=<F9>
"設(shè)置背景色
set background=dark
"設(shè)置高亮相關(guān)
highlight Search ctermbg=black  ctermfg=white guifg=white guibg=black

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI