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