vim 編輯器 常用的設定

來源:互聯網
上載者:User

1.在SecureCRT中 secureCRT使用VIM時對文法高亮 其實不是secureCRT的功能,而是VIM的

設定:Options ->Session Options -> Terminal -> Emulation 中Terminal選擇ANSI or linux or xterm,必須鉤上 ANSI Colour

設定 選項->會話選項->終端->模擬->終端:Linux,選中ANSI Color

2.在使用者目錄建立.vimrc

[root@localhost ~]#vi .vimrc

3.配置.vimrc檔案加入

syntax on

4.儲存,重連ssh。搞定

以下為擴充內容

vi還有很多個人化的配置可以在.vimrc中加入方便自己工作

下面是一個基本的配置

set fenc=utf-8 "設定預設解碼 
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 
set nocp "或者 set nocompatible 用於關閉VI的相容模式 
set number "顯示行號 
set ai "或者 set autoindent vim使用自動對齊,也就是把當前行的對齊格式應用到下一行 
set si "或者 set smartindent 依據上面的對齊格式,智能的選擇對齊
set tabstop=4 "設定tab鍵為4個空格
set sw=4 "或者 set shiftwidth 設定當行之間交錯時使用4個空格
set ruler "設定在編輯過程中,於右下角顯示光線標位置的狀態行 
set incsearch "設定增量搜尋,這樣的查詢比較smart 
set showmatch "高亮顯示匹配的括弧 
set matchtime=5 "匹配括弧高亮時間(單位為 1/10 s) set ignorecase "在搜尋的時候忽略大小寫 
syntax on "高亮文法

 

" 不要使用vi的鍵盤模式,而是vim自己的
set nocompatible

" 文法高亮
set syntax=on

" 去掉輸入錯誤的提示聲音
set noeb

" 在處理未儲存或唯讀檔案的時候,彈出確認
set confirm

" 自動縮排
set autoindent
set cindent

" Tab鍵的寬度
set tabstop=4

" 統一縮排為4
set softtabstop=4
set shiftwidth=4

" 不要用空格代替定位字元
set noexpandtab

" 在行和段開始處使用定位字元
set smarttab

" 顯示行號
set number

" 記錄數
set history=1000

"禁止產生臨時檔案
set nobackup
set noswapfile

"搜尋忽略大小寫
set ignorecase

"搜尋逐字元高亮
set hlsearch
set incsearch

"行內替換
set gdefault

"編碼設定
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

"語言設定
set langmenu=zh_CN.UTF-8
set helplang=cn

" 我的狀態行顯示的內容(包括檔案類型和解碼)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime("%d/%m/%y\ -\ %H:%M")}
"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]

" 總是顯示狀態行
set laststatus=2

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

命令行(在狀態行下)的高度,預設為1,這裡是2
set cmdheight=2

" 偵測檔案類型
filetype on

" 載入檔案類型外掛程式
filetype plugin on

" 為特定檔案類型載入相關縮排檔案
filetype indent on

" 儲存全域變數
set viminfo+=!

" 帶有如下符號的單詞不要被換行分割
set iskeyword+=_,$,@,%,#,-

" 字元間插入的像素行數目
set linespace=0

" 增強模式中的命令列自動完成操作
set wildmenu

" 使回格鍵(backspace)正常處理indent, eol, start等
set backspace=2

" 允許backspace和游標鍵跨越行邊界
set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用滑鼠(類似office中在工作區雙擊滑鼠定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 通過使用: commands命令,告訴我們檔案的哪一行被改變過
set report=0

" 啟動的時候不顯示那個援助索馬里兒童的提示
set shortmess=atI

" 在被分割的視窗間顯示空白,便於閱讀
set fillchars=vert:\ ,stl:\ ,stlnc:\

" 高亮顯示匹配的括弧
set showmatch

" 匹配括弧高亮的時間(單位是十分之一秒)
set matchtime=5

" 游標移動到buffer的頂部和底部時保持3行距離
set scrolloff=3

" 為C程式提供自動縮排
set smartindent

" 只在下列檔案類型被偵測到的時候顯示行號,普通文字檔不顯示
if has("autocmd")
   autocmd FileType xml,HTML,c,cs,java,perl,shell,bash,cpp,python,vim,PHP,ruby set number
   autocmd FileType xml,HTML vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
   autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o
   autocmd FileType HTML,text,PHP,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100
   autocmd Filetype HTML,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
   autocmd BufReadPost *
      \ if line("'"") > 0 && line("'"") <= line("$") |
      \   exe "normal g`"" |
      \ endif
endif " has("autocmd")

" F5編譯和運行C程式,F6編譯和運行C++程式
" 請注意,下述代碼在windows下使用會報錯
" 需要去掉./這兩個字元

" C的編譯和運行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc

" C++的編譯和運行
map <F6> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc

" 能夠漂亮地顯示.NFO檔案
set encoding=utf-8
function! SetFileEncodings(encodings)
    let b:myfileencodingsbak=&fileencodings
    let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
    let &fileencodings=b:myfileencodingsbak
    unlet b:myfileencodingsbak
endfunction

au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost *.nfo call RestoreFileEncodings()

" 高亮顯示普通txt檔案(需要txt.vim指令碼)
au BufRead,BufNewFile *  setfiletype txt

" 用空格鍵來開關摺疊
set foldenable
set foldmethod=manual
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

" minibufexpl外掛程式的一般設定
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.