全世界最好的編輯器VIM之Windows配置(gvim)[未測試]

全世界最好的編輯器VIM之Windows配置(gvim),vundle插件管理,NERDTree插件,ctrlp插件,vim-nerdtree-tabs插件等 。vim原本就是很強大,很方便的編輯器,再加上這些殺手級的插件,那就真的無敵了linux

官方網站:http://www.vim.orggit

平時習慣在linux上面使用vim,可是在windows下面,總感受沒有找到比vim好用的編輯器,因此,決定在windows下也安裝一個vim  , ^^ go…github

先放一張我本身的vim配置效果圖,簡單而美麗vim

20160615112140

 

一、安裝GVIM

A、下載 GVIMwindows

B、運行下載的安裝程序,並按照說明一步一步正確安裝便可
我這裏安裝的路徑是 C:\Program Files (x86)\Vim\curl

QQ圖片20160615095324

桌面圖標:編輯器

20160615095507

二、安裝vim插件管理工具vundle

注意:安裝vundle前提須要先安裝 git 和 配置curl工具

(1)、安裝git客戶端:msysgit

msysgit只是提供了git的核心功能,並且是基於命令行的字體

A、下載 msysgit網站

B、運行下載的安裝程序,並安裝說明一步一步正確安裝便可,須要注意的一點就是PATH環境選擇界面;
注意:在 adjusting your PATH environment (調整PATH環境)界面,咱們選擇第二個 run git from the windows command prompt ;如圖

20160615100453

C、安裝完成,打開cmd 命令提示符,運行命令( git –version )檢查git 版本號
20160615100716

D、msysgit 的安裝路徑是 C:\Program Files (x86)\Git (個人安裝路徑)

20160615101212

(2)、配置 curl

在windows下安裝curl與msysgit結合很是簡單,只須要在git的cmd目錄建立文件curl.cmd便可
路徑:C:\Program Files\Git\cmd\curl.cmd ,文件內容以下

 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
@ rem Do not use "echo off" to not affect any child calls .
@setlocal
 
@ rem Get the abolute path to the parent directory , which is assumed to be the
@ rem Git installation root .
@ for /F "delims=" % %I in ( "%~dp0.." ) do @ set git_install_root = % % ~fI
@ set PATH = % git_install_root % \ bin ; % git_install_root % \ mingw \ bin ; % git_install_root % \ mingw64 \ bin ; % PATH %
@ rem ! ! ! ! ! ! ! For 64bit msysgit , replace 'mingw' above with 'mingw64' ! ! ! ! ! ! !
 
@ if not exist "%HOME%" @ set HOME = % HOMEDRIVE % % HOMEPATH %
@ if not exist "%HOME%" @ set HOME = % USERPROFILE %
 
@ curl . exe % *

打開cmd 命令提示符,運行命令( curl –version )檢查curl 版本號

20160615101605

好了,咱們開始安裝 vundle 了,也很簡單

(2)、安裝Vundle   (Vundle on Windows)

A、打開cmd 命令提示符,只要運行一條命令便可,咱們將vundle安裝到 C:\Program Files (x86)\Vim\vimfiles 目錄,目錄以下:

 
 
 
 
 
 
1
git clone https : //github.com/gmarik/Vundle.vim.git C:\Program Files (x86)\Vim\vimfiles\bundle\Vundle.vim

20160615101910

B、添加一個gvim目錄的 環境變量 $VIM ,步驟 :個人電腦->屬性->高級系統設置->高級->環境變量->新建 ;如圖

20160615103128

C、在vim啓動設定文件_vimrc添加 bundle的配置 ,vim的啓動設定文件 _vimrc (在linux文件名是 .vimrc , 在windows下面是 _vimrc);這裏直接配置一個全局的 _vimrc 文件,路徑:C:\Program Files (x86)\Vim\_vimrc  , 添加以下內容

 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
"插件管理
set rtp+=$VIM\vimfiles\bundle\Vundle.vim\
call vundle#begin()
" let Vundle manage Vundle , required
Plugin 'VundleVim/Vundle.vim'
" my bundle plugin
 
call vundle #end()
filetype plugin indent on

在Github vim-scripts 用戶下的repos,只須要寫出repos名稱
在Github其餘用戶下的repos, 須要寫出」用戶名/repos名」
不在Github上的插件,須要寫出git全路徑

D、Bundle 插件管理器使用

相關命令
安裝插件:BundleInstall
更新插件:BundleUpdate
清除再也不使用的插件:BundleClean
列出全部插件:BundleList
查找插件:BundleSearch

例如安裝插件
打開一個gvim, 運行:BundleInstall 或者在命令行運行 vim +BundleInstall +qall
安裝完成後插件就能用了

20160615105239

三、VIM之文件管理插件NERDTree 和 共享插件vim-nerdtree-tabs

A、安裝和基本用法

經過vim插件管理工具Vundle安裝NERDTree和vim-nerdtree-tabs就很簡單,只須要將插件路徑添加到bundle的配置便可,添加兩行

Plugin ‘scrooloose/nerdtree’
Plugin ‘jistr/vim-nerdtree-tabs’

NERDTree和vim-nerdtree-tabs的 github路徑能夠自行查詢一下

配置以下

 
 
 
 
 
 
1
2
3
4
5
6
7
8
"插件管理
set rtp += $ VIM \ vimfiles \ bundle \ Vundle . vim \
call vundle #begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
 
call vundle #end()

打開一個gvim, 運行 :BundleInstall 便可

 

NERDTree的一些基本操做快捷鍵

 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
? : 快速幫助文檔
o : 打開一個目錄或者打開文件,建立的是buffer,也能夠用來打開書籤
go : 打開一個文件,可是光標仍然留在NERDTree,建立的是buffer
t : 打開一個文件,建立的是Tab,對書籤一樣生效
T : 打開一個文件,可是光標仍然留在NERDTree,建立的是Tab,對書籤一樣生效
i : 水平分割建立文件的窗口,建立的是 buffer
gi : 水平分割建立文件的窗口,可是光標仍然留在NERDTree
s : 垂直分割建立文件的窗口,建立的是 buffer
gs : 和gi,go相似
x : 收起當前打開的目錄
X : 收起全部打開的目錄
e : 以文件管理的方式打開選中的目錄
D : 刪除書籤
P : 大寫,跳轉到當前根路徑
p : 小寫,跳轉到光標所在的上一級路徑
K : 跳轉到第一個子路徑
J : 跳轉到最後一個子路徑
< C - j >< C - k > : 在同級目錄和文件間移動,忽略子目錄和子文件
C : 將根路徑設置爲光標所在的目錄
u : 設置上級目錄爲根路徑
U : 設置上級目錄爲跟路徑,可是維持原來目錄打開的狀態
r : 刷新光標所在的目錄
R : 刷新當前根路徑
I : 顯示或者不顯示隱藏文件
f : 打開和關閉文件過濾器
q : 關閉NERDTree
A : 全屏顯示NERDTree,或者關閉全屏

B、在vim啓動設定文件_vimrc添加NERDTree的配置

 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
" 關閉NERDTree快捷鍵
map <leader>t :NERDTreeToggle<CR>
" 顯示行號
let NERDTreeShowLineNumbers = 1
let NERDTreeAutoCenter = 1
" 是否顯示隱藏文件
let NERDTreeShowHidden=1
" 設置寬度
let NERDTreeWinSize = 21
" 在終端啓動vim時,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的顯示
let NERDTreeIgnore = [ '\.pyc' , '\~$' , '\.swp' ]
" 顯示書籤列表
let NERDTreeShowBookmarks = 1

 

四、VIM之搜索定位打開文件插件CtrlP

A、安裝和基本用法

安裝跟NERDTree和vim-nerdtree-tabs插件安裝方法同樣,只須要添加一行  Plugin ‘kien/ctrlp.vim’ 便可,完整以下

 
 
 
 
 
 
1
2
3
4
5
6
7
8
"插件管理
set rtp += $ VIM \ vimfiles \ bundle \ Vundle . vim \
call vundle #begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'kien/ctrlp.vim'
call vundle #end()

打開一個gvim, 運行 :BundleInstall 便可

ctrlp的 github路徑能夠自行查詢一下

在網上找到 ctrlp 的一個gif 文件,以下

ctrlp-vim-demo

最後,附上個人_vimrc 完整配置,我只安裝了這三個插件

5 、我本身的 _vimrc 完整配置,可參考

 

 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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
 
 
"設置文件的代碼形式 utf8
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
 
"vim的菜單亂碼解決
source $ VIMRUNTIME / delmenu . vim
source $ VIMRUNTIME / menu .vim
 
"vim提示信息亂碼的解決
language messages zh_CN.utf-8
 
filetype on
filetype plugin indent on
" colorscheme evening "配色方案
colorscheme desert
set helplang=cn "設置中文幫助
set history = 500 "保留歷史記錄
set guifont=Monaco:h10 "設置字體爲Monaco,大小 10
set tabstop = 4 "設置tab的跳數
set expandtab
set backspace=2 "設置退格鍵可用
"set nu! "設置顯示行號
set wrap "設置自動換行
" set nowrap "設置不自動換行
set linebreak "整詞換行,與自動換行搭配使用
"set list "顯示製表符
set autochdir "自動設置當前目錄爲正在編輯的目錄
set hidden "自動隱藏沒有保存的緩衝區,切換buffer時不給出保存當前buffer的提示
set scrolloff = 5 "在光標接近底端或頂端時,自動下滾或上滾
" Toggle Menu and Toolbar "隱藏菜單欄和工具欄
" set guioptions -=m
"set guioptions-=T
set showtabline=2 "設置顯是顯示標籤欄
set autoread "設置當文件在外部被修改,自動更新該文件
set mouse=a "設置在任何模式下鼠標均可用
set nobackup "設置不生成備份文件
" set go = "不要圖形按鈕
set guioptions-=T           " 隱藏工具欄
"set guioptions-=m           " 隱藏菜單欄
 
"===========================
"查找 /替換相關的設置
"===========================
set hlsearch "高亮顯示查找結果
set incsearch "增量查找
 
" === === === === === === === === ===
"狀態欄的設置
" === === === === === === === === ===
set statusline = [ % F ] % y % r % m % * %= [ Line : % l / % L , Column : % c ] [ % p % % ] "顯示文件名:總行數,總的字符數
set ruler "在編輯過程當中,在右下角顯示光標位置的狀態行
 
"===========================
"代碼設置
"===========================
syntax enable "打開語法高亮
syntax on "打開語法高亮
set showmatch "設置匹配模式,至關於括號匹配
set smartindent "智能對齊
" set shiftwidth = 4 "換行時,交錯使用4個空格
set autoindent "設置自動對齊
set ai ! "設置自動縮進
" set cursorcolumn "啓用光標列
set cursorline "啓用光標行
set guicursor += a :blinkon0 "設置光標不閃爍
set fdm=indent "
 
 
"插件管理
set rtp+=$VIM\vimfiles\bundle\Vundle.vim\
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
"Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'kien/ctrlp.vim'
Plugin 'eshion/vim-sync'
call vundle #end()
 
" 關閉NERDTree快捷鍵
map <leader>t :NERDTreeToggle<CR>
" 顯示行號
let NERDTreeShowLineNumbers = 1
let NERDTreeAutoCenter = 1
" 是否顯示隱藏文件
let NERDTreeShowHidden=1
" 設置寬度
let NERDTreeWinSize = 21
" 在終端啓動vim時,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的顯示
let NERDTreeIgnore = [ '\.pyc' , '\~$' , '\.swp' ]
" 顯示書籤列表
let NERDTreeShowBookmarks = 1

遇到幾個錯誤的地方及方法 提示一下

「設置文件的代碼形式 utf8
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936

「vim的菜單亂碼解決
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

「vim提示信息亂碼的解決 language messages zh_CN.utf-8

相關文章
相關標籤/搜索