Linux入門-1.vim格式設置

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

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

$vi ~/.vimrc

設置完後

$:x 或者 $wq

進行保存退出即可。

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

set backspace=indent,eol,start
這條命令告訴Vim在Insert模式下退格鍵何時可以刪除光標之前的字
符.選項中以逗號分隔的三項內容分別指定了Vim
縮進,斷行,以及開始進入Insert模式之前的位置.

“雙引號開始的行爲註釋行,下同

“去掉討厭的有關vi一致性模式,避免以前版本的一些bug和侷限

set nocompatible

“顯示行號

set nummber

“檢測文件的類型

filetype on

“記錄歷史的行數

  set history=1000

   “背景使用黑色

set background=dark

“語法高亮度顯示

  syntax on

“下面兩行在進行編寫代碼時,在格式對起上很有用;

“第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行;

“第二行,依據上面的對起格式,智能的選擇對起方式,對於類似C語言編

“寫上很有用

set autoindent

set smartindent

“第一行設置tab鍵爲4個空格,第二行設置當行之間交錯時使用4個空格

set tabstop=4

set shiftwidth=4

“設置匹配模式,類似當輸入一個左括號時會匹配相應的那個右括號

set showmatch

“去除vim的GUI版本中的toolbar

set guioptions-=T

“當vim進行編輯時,如果命令錯誤,會發出一個響聲,該設置去掉響聲

set vb t_vb=

“在編輯過程中,在右下角顯示光標位置的狀態行

set ruler

“默認情況下,尋找匹配是高亮度顯示的,該設置關閉高亮顯示

set nohls

“查詢時非常方便,如要查找book單詞,當輸入到/b時,會自動找到第一

“個b開頭的單詞,當輸入到/bo時,會自動找到第一個bo開頭的單詞,依

“次類推,進行查找時,使用此設置會快速找到答案,當你找要匹配的單詞

“時,別忘記回車

set incsearch

“修改一個文件後,自動進行備份,備份的文件名爲原文件名加“~“後綴

if has(“vms”)

   set nobackup

else

   set backup

endif

如果去除註釋後,一個完整的.vimrc配置信息如下所示:

set nocompatible
set backspace=indent,eol,start
set nummber
filetype on
set history=1000
set background=dark
syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has(“vms”)
   set nobackup
else
   set backup
endif

補充:
"映射F8爲顯示列表,需要taglist插件
nnoremap <silent> <F8> :Tlist<CR>

"配色文件
colorscheme inkpot

"對python文件進行特殊設置
if has("autocmd")
   filetyp plugin indent on
   autocmd FileType python setlocal et | setlocal sta | setlocal sw=4
   autocmd FileType python compiler pyunit
   autocmd FileType python setlocal makeprg=python\ %
endif

"設定文件編碼類型,徹底解決中文編碼問題
let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936

在 Vim 中實現括號自動補全

相信經常寫程序的人,時常會有漏寫一半括號的情況發生。下面的設置可以自動補全括號。

:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i


function ClosePair(char)
  if getline('.')[col('.') - 1] == a:char
      return "/<Right>"
  else
      return a:char
  endif
endfunction
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章