Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1222790
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: LINUX

2009-12-30 19:28:48

vi的一些配置和命令老是记不住,放在这里。先找了一篇类似的文章放在这里,以后会以此为基础不断更改,逐渐消化掉。

我的locale:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8

我的vim版本:vim-7.0.174
我的.vimrc:

"中文问题
"输入中文
set encoding=utf8
"文件存储编码
set fileencoding=utf-8
set fileencodings=utf-8
set termencoding=utf-8
set enc=utf-8
"编程语法
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 的顏色設定

    * 使用拼写检查功能

      Vim 7 内置了一项与 Microsoft Word 类似的拼写检查功能,使用该功能可以检查出所拼写词语的错误。在默认情况下,这项功能是没有开启的。若是使用 GVim 的话,可通过“Tools -> Spelling -> Spell check on”菜单命令开启。Vim 一旦发现拼写错误的词语,则以红色的波浪线标记。而使用以下命令可以执行拼写检查功能的相关操作:
          o :set spell-开启拼写检查功能
          o :set nospell-关闭拼写检查功能
          o ]s-移到下一个拼写错误的单词
          o [s-作用与上一命令类似,但它是从相反方向进行搜索
          o z=-显示一个有关拼写错误单词的列表,可从中选择
          o zg-告诉拼写检查器该单词是拼写正确的
          o zw-与上一命令相反,告诉拼写检查器该单词是拼写错误的
    * 使用括弧高亮显示功能

      此特性在编码时非常具有帮助。对于如“{”、“}”之类的配对括弧,Vim 7 将高亮显示它们。如果不喜欢,可以使用“:NoMatchParen”命令禁用该功能。
    * 使用自动补完功能

      这是一个非常酷的特性。当你在写代码的时候,可以使用该功能帮助你自动完成标记、关键字等等。此功能支持 C、(X)HTML(包含 CSS)、JavaScript、PHP、Python、Ruby、SQL、XML 等语言。在插入模式中,连续按“[Ctrl+x] [Ctrl+o]”组合键可以打开该功能。你可以从弹出的列表框中进行选择。
    * 使用分页(tabs)功能

      此功能可让 Vim 同时打开多个文档进行编辑。其命令如下:
          o :tabe /path/to/file.txt-在一个新的 tab 页中打开文件
          o :tabnew-新建一个 tab 页
          o :tabs-查看 tab 页列表,通过“>”显示当前窗口、“+”显示可修改的缓冲区
          o :tabc-关闭当前的 tab 页
          o :tab split-在当前缓冲区使用新的 tab 页打开文件
          o :tabn-切换到下一个 tab 页
          o :tabp-切换到上一个 tab 页
          o :tabr[ewind]-转到第一个 tab 页
          o :tabf[irst]-与上一命令作用相同
    * 使用撤销分支功能

      可以使用 :undolist 命令查看缓冲区存在的撤销分支列表。而通过 :undo <> 命令则能够移到撤销的某个分支
阅读(1237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~