- 環境
- 將vi以vim啟動
就是下vi等於下vim
# vi ~/.bashrc ---------/root/.bashrc---------- alias vi='vim' #加入這一行
- 支援編碼
vim /etc/vim/vimrc -----------/etc/vim/vimrc------------------- set fileencoding=utf-8,big5,gb18030 //支援中文utf-8,繁體big5及簡體gb
- Turn on or off color syntax highlighting in vi or vim
- 從環境變數設定
# echo 'syntax on' >> /root/.vimrc
- 使用中設定
//command mode :syntax on //or off
- 從環境變數設定
- 取消自動產生的*.ext~, .*.swp檔
這是vi自動產生的備份檔 在/etc/vimrc下加入
set nobackup #不產生*.ext~ set noswapfile #不產生.*swp set nowritebackup #不管不產生哪一項,這個都要給
- 關掉吵人的beep聲
vb = visual bellset vb
- 設定tab長度及自動縮排長度
為了follow PSR規範... 不用tab,要用4個whitespace
vi ~/.vimrc set tabstop=4 set shiftwidth=4
- 將vi以vim啟動
- 縮排 indent
- 取得indent檔
先取得相關的indent檔,例如html縮排,會得到html.vim
其他相關縮排檔
- javascript
- jQuery
- php
- php(html enhanced)
由於php裡,常會夾html,而在原php的縮排對html的支援不是很好,所以有人做了加強版
p.s. 作者預設縮3個空格,如果要改成縮8個,在第27行,set sw=3 //改成8即可
- 放到~/.vim/indent
如果沒有就自行建資料夾 - 啟動縮排
在~/.vimrc中(如果沒有就自行建),加入filetype indent on
- 取得indent檔
- 編輯
- 取代斷行符號
用vi編輯時,有時會遇到^M的斷行符號
雖然不影響,不過還挺礙眼的
幾百行下來還挺難改的,又打不出取代的符號,總算在找到取代的方法了
:%s/^V^M//g
^v為CONTROL-V,而^m是CONTROL-M當打完這兩個時,就會出現
:%s/^M//g
- 取代斷行符號
- 縮排
- Html, JavaScript
JavaScript Indent : Javascript indenter (HTML indent is included) , Preston Koprivica
- 安裝:
# tar xvf web-indent.tar //解壓 # cd web-indent/indent/ //進到html.vim及javascript.vim的資料夾 # cp *.vim ~/.vim/indent/ //將*.vim全放到runtime目錄下的vim環境
- Html, JavaScript
參考網路的範例,調成自己用的
" encoding
set encoding=utf-8
set fileencodings=utf-8,cp950,latin1
"syntax
syntax on " 語法上色顯示
set nocompatible " VIM 不使用和 VI 相容的模式
au BufReadPost *.volt set syntax=php
au BufReadPost *.zep set syntax=php
"indent
set shiftwidth=4 " 設定縮排寬度 = 4
set tabstop=4 " tab 的字元數
set softtabstop=4
set expandtab
" setting
set ruler " 顯示右下角設定值
set backspace=2 " 在 insert 也可用 backspace
set ic " 設定搜尋忽略大小寫
set ru " 第幾行第幾個字
set hlsearch " 設定高亮度顯示搜尋結果
set incsearch " 在關鍵字還沒完全輸入完畢前就顯示結果
set smartindent " 設定 smartindent
set confirm " 操作過程有衝突時,以明確的文字來詢問
set history=100 " 保留 100 個使用過的指令
set cursorline " 顯示目前的游標位置
set laststatus=2
set statusline=%4*%<\%m%<[%f\%r%h%w][%{&ff},%{&fileencoding},%Y]%=\[Position=%l,%v,%p%%]
set nu
set cursorline
" Color configuration
set bg="solarized dark"
color evening " Same as :colorscheme evening
hi LineNr cterm=bold ctermfg=DarkGrey ctermbg=NONE
hi CursorLineNr cterm=bold ctermfg=Green ctermbg=NONE
效果見下圖

References
沒有留言:
張貼留言