vi 設定

vi 實在是個非常棒的編輯器... 功能太強大了...
而且非常方便又好用... 沒有它實在是綁手綁腳的... 唉...
我的 .vimrc 如下
syntax on
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4
set number
set cindent
set autoindent
這些在平常寫程式時很好用唷.. 🙂
# 自動判斷 big5 或 utf-8 會自動換編碼(Linux 設以下設定)
兩種方法:
1.
" 檔案存檔會存成utf-8編碼
"set fileencoding=utf-8
"
" 以下四個設下去. vim 編出來都是 utf-8 編碼的.
set fileencoding=utf-8
set fileencodings=big5,utf-8
set termencoding=big5
set enc=utf-8
" iconv -f big5 -t utf8 file.big5
2.
if has("multi_byte")
let $LANG="zh_TW.UTF-8"
set encoding=utf-8
setglobal fileencoding=big5
set fileencoding=big5
set bomb
set termencoding=big5
set fileencodings=utf-8,big5,euc-jp,gbk,euc-kr,utf-bom,iso8859-1
else
echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif
其它還有非常多功能.. 就下面再說囉.. 🙂


開啟顏色
syntax on
syntax off 關閉
" 將註解由深藍色變綠色
" hi Comment ctermfg=Green
" 搜尋到的字加 hilight
set hlsearch
" 將註解由深藍色變淺藍色
highlight Comment ctermfg=darkcyan
highlight Search term=reverse ctermbg=4 ctermfg=7
highlight Normal ctermbg=black ctermfg=white
一個tab鍵空四格, 以空白代替(按兩個 tab 就等於是 tab)
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4
自動縮排
:set cindent
:set autoindent
:set cindent 取消
:set noautoindent 取消
:set noci 取消
數字行數
:set number (:set nu)
:set nonumber (:set nonu)
搜尋後不出現彩色make
:nohl
字首加字
:1,$s/^/#/g 在全部行首加上 #
:1,$s/\home\//g 將從頭到尾有/home/ 的字刪掉
字串取代
:1,$s/mysql_query\(\$sql\);/mysql_query(\$sql\) or die\(mysql_error\(\)\):/g
第一行取代到最後一行 1,$
編輯備份檔
vi -r filename
編輯一次兩個視窗
:new
Ctrl + w 切換視窗(Ctrl+w兩次, 或 Ctrl+w+ 上下鍵)
:e [tab]或filename開檔案編輯
編輯遠端ftp
:e ftp://url/filename
不自動換行
:set nowrap (一行太長會自動換到下一行)
輸入顏色
^[ 是 ESCAPE 鍵,
在 vi中, 先按 Ctrl-V 再按ESC就會出現了
shell 模式本來都是使用 bash.
若要改用 vi 來當預設的環境的話.
則在 .bashrc 最上面加入 set -o vi 即可.
(esc i 則進入 insert 模式, j.k 可以用上一次指令, 下一次指令)
若想要讓其它檔名可以支援 .php 的顏色設定
mkdir ~/.vim
vi filetype.vim
內容如下:
" my filetype file
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufRead,BufNewFile *.ros setfiletype php
augroup END
這樣子就可以把 .ros 用 .php 的顏色設定

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料