從05年起接觸vim, 一直喜歡用它來(lái)寫(xiě)代碼,由于平時(shí)開(kāi)發(fā)涉及幾個(gè)方向,環(huán)境有所不同,但基本上可以統(tǒng)一使用vim來(lái)編輯,把一些設(shè)置記錄下來(lái),方便以后參閱。
少用鼠標(biāo)是vi編程的一大特點(diǎn), 如果在vs, eclipse中,結(jié)合這兩者的部分快捷鍵,那感覺(jué)更爽,長(zhǎng)期使用vim的人會(huì)理解這點(diǎn)的。
1) Unix/Linux環(huán)境下,vim自帶安裝,我喜歡NERDTreeToggle插件。
.vimrc設(shè)置:
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環(huán)境下安裝gVim, 也安裝NERDTreeToggle插件。
_vimrc設(shè)置:
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:
已經(jīng)自帶vim插件,只要在配置文件開(kāi)啟即可。
4) vs2008:
ViEmu
VS下的VIM插件
地址:http://www.viemu.com/
破解:
1.刪除目錄 C:\Documents and Settings\用戶(hù)名\Local Settings\Application Data\Identities\{17582A9E-740A-47F2-8256-D09F1378E7FA}
如:C:\Documents and Settings\Administrator\Local Settings\Application Data\Identities
2.刪除注冊(cè)表項(xiàng)HKEY_CURRENT_USER\Software\Classes\CLSID\{D31F31E1-B08F-46FF-92C5-CA111A2053DF}
過(guò)一段時(shí)間又到期,繼續(xù)依法破解,最好寫(xiě)一個(gè)腳本來(lái)操作,執(zhí)行一個(gè)命令就完成。
5) eclipse:
http://www.viplugin.com/viplugin.htm
根據(jù)viPlugin使用手冊(cè)User_Manual_viPlugin.pdf安裝即可。 2.x版本的破解方法:在com.mbartl.viplugin.eclipse.layer_2.0.0/lib/licensechecker.jar中,你只需要將lib下的文件放在classhpath上,然后調(diào)用CheckLicenseFile.encrypt(name, email)方法就能得到一個(gè)注冊(cè)碼,將這個(gè)注冊(cè)碼保存到一個(gè)叫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
設(shè)置幾個(gè)喜歡的快捷鍵,由于eclipse已經(jīng)設(shè)置了這些快捷鍵,但我們?cè)趘i里使用習(xí)慣了,所以還需要自己設(shè)置為vi模式的快捷鍵,
方法是:Window --> Preferences --> Keys, 在Scheme里選擇viPlugin, 對(duì)Category進(jìn)行排序,找到Category是ViPlugin的幾項(xiàng),
我喜歡設(shè)置:(如果有沖突,則把其他項(xiàng)修改為其它快捷鍵)
PageDown: Ctrl + F,
PageUp: Ctrl + B,
HalfPageDown: Ctrl + D,
HalfPageUp: Ctrl + U
在ecplise下用Ctrl + E代替Ctrl + Tab.
復(fù)制粘貼功能實(shí)效解決方法:yy, p命令失效,插件本身有bug,可以用鼠標(biāo)選種任何文本,Ctrl+C, Ctrl+V操作一次,之后yy, p等命令就可以了。