從05年起接觸vim, 一直喜歡用它來寫代碼,由于平時開發涉及幾個方向,環境有所不同,但基本上可以統一使用vim來編輯,把一些設置記錄下來,方便以后參閱。
少用鼠標是vi編程的一大特點, 如果在vs, eclipse中,結合這兩者的部分快捷鍵,那感覺更爽,長期使用vim的人會理解這點的。
1) Unix/Linux環境下,vim自帶安裝,我喜歡NERDTreeToggle插件。
.vimrc設置:
syntax on
set history=1000
set nu
set shiftwidth=4
set tabstop=4
set nobackup
set encoding=utf-8
set termencoding=GBK
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set listchars=tab:>-
set cindent
nmap nt :NERDTreeToggle
2) Windows環境下安裝gVim, 也安裝NERDTreeToggle插件。
_vimrc設置:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
syntax on
set tabstop=4
set nu
set shiftwidth=4
set nobackup
winpos 100 80
set lines=35 columns=140
set history=1000
set fileencoding=utf8
set encoding=utf-8
set termencoding=GBK
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set listchars=tab:>-
set cindent
nmap nt :NERDTreeToggle
3) Sublime text 2:
已經自帶vim插件,只要在配置文件開啟即可。
4) vs2008:
ViEmu
VS下的VIM插件
地址:http://www.viemu.com/
破解:
1.刪除目錄 C:\Documents and Settings\用戶名\Local Settings\Application Data\Identities\{17582A9E-740A-47F2-8256-D09F1378E7FA}
如:C:\Documents and Settings\Administrator\Local Settings\Application Data\Identities
2.刪除注冊表項HKEY_CURRENT_USER\Software\Classes\CLSID\{D31F31E1-B08F-46FF-92C5-CA111A2053DF}
過一段時間又到期,繼續依法破解,最好寫一個腳本來操作,執行一個命令就完成。
5) eclipse:
http://www.viplugin.com/viplugin.htm
根據viPlugin使用手冊User_Manual_viPlugin.pdf安裝即可。 2.x版本的破解方法:在com.mbartl.viplugin.eclipse.layer_2.0.0/lib/licensechecker.jar中,你只需要將lib下的文件放在classhpath上,然后調用CheckLicenseFile.encrypt(name, email)方法就能得到一個注冊碼,將這個注冊碼保存到一個叫viPlugin2.lic的文件中放在workspace或者eclipse根目錄下就可以了。 package com.bingersoft.viplugin;
import com.mbartl.viimplementation.license.CheckLicenseFile;
public class Viplugin {
public static void main(String[] args) throws Exception {
String name = "liangb";
String email = "704839634@qq.com";
String license = CheckLicenseFile.encrypt(name, email);
System.out.println(license);
}
}
viPlugin2.lic:
K5bXyEZ89CyJozYoGWFtsPs0fviN6zK54ele-hVgwSZdWO_N0tPrdGXuG7bwXvGY
設置幾個喜歡的快捷鍵,由于eclipse已經設置了這些快捷鍵,但我們在vi里使用習慣了,所以還需要自己設置為vi模式的快捷鍵,
方法是:Window --> Preferences --> Keys, 在Scheme里選擇viPlugin, 對Category進行排序,找到Category是ViPlugin的幾項,
我喜歡設置:(如果有沖突,則把其他項修改為其它快捷鍵)
PageDown: Ctrl + F,
PageUp: Ctrl + B,
HalfPageDown: Ctrl + D,
HalfPageUp: Ctrl + U
在ecplise下用Ctrl + E代替Ctrl + Tab.
復制粘貼功能實效解決方法:yy, p命令失效,插件本身有bug,可以用鼠標選種任何文本,Ctrl+C, Ctrl+V操作一次,之后yy, p等命令就可以了。