分享

gVIM在Windows配置,git,curl, vundle

 comeonwyj 2020-02-20

与Emacs并称程序员神之编辑器VIM(官网http://www.)在linux上是必备的,在Windows上版本是gvim。

VIM杀手级的插件有:管理插件的插件vundle,NERDTree插件,ctrlp插件,vim-nerdtree-tabs插件等 。

一张我自己的vim配置效果图,简单而美丽

1、安装GVIM

A、下载 GVIM

B、运行下载的安装程序。

安装路径默认  C:\Program Files\Vim\, 因windows文件名有空格易引发错误, 故改为简单的 C:\vim

桌面图标:

gvim是常规模式,打开首先进入命令模式而非文本编辑模式

gvim Easy是简捷模式,打开后直接进入文本编辑模式

gvim Read 是 只读模式,打开进入非编辑只浏览模式。

2、安装vim插件管理工具vundle

注意:安装vundle前提需要先安装 git 和 配置curl

(1)、安装git客户端

https:///downloads

 

也可以只下载安装msysgit,它只是提供了git的核心功能,而且是基于命令行的

A、下载 msysgit

B、运行下载的安装程序,并安装说明一步一步正确安装即可,

PATH环境选择界面;在 adjusting your PATH environment (调整PATH环境)界面,我们选择第二个 从windows命令行和其它第三方软件:

使用OpenSSL安全认证:

关闭上传git时文本换行符的自动转换功能。特别是中文程序员,几乎都会碰到这个坑。建议是, 完全关掉这个自作聪明的“换行符自动转换”功能。关闭之后,Git 就不会对你的换行符做任何手脚了,你可以完全自主地、可预期地控制自己的换行符风格。

C、安装完成,打开cmd 命令提示符,运行命令( git –version )检查git 版本号

D、我的电脑上git安装路径是C:\Program Files\Git

(2)、配置 curl

有参考文档说 在windows下安装curl 只需要在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 %*

重新下载安装curl (我的电脑是32位): 链接: https://pan.baidu.com/s/10PurNgzgbrIXBLZ8zodVyQ 

或者去网上下载https://curl./download.html#Win32 并根据你电脑的具体情况选32位或64位


.将下载好的zip压缩包,直接解压到自己常用安装目录即可;

为了方便在命令窗口任意目录下使用curl,最好配置一下环境变量:

一、增加CURL_HOME环境变量:C:\curl\bin (值是对应curl.exe所在的目录)

二、在PATH环境变量里加上%CURL_HOME%;

或者

在这里插入图片描述

在Windows下使用ssl的curl命令,还需要安装OpenSSL.  

链接: https://pan.baidu.com/s/13JDuR8750xPlCrk5FyM4lw 提取码: c3u5  

或到  http:///products/Win32OpenSSL.html 网站上下载  Win64OpenSSL_Light-1_1_0g.exe  安装即可。

打开cmd 命令提示符,运行命令( curl –version )检查curl 版本号

测试是否能成功使用:打开cmd命令窗口,输入 curl  https://www.baidu.com   有返回html代码则表示成功
开始安装 vundle 了,也很简单

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

A、打开cmd 命令提示符,只要运行一条命令即可,我们将vundle安装到 C:\Vim\vimfiles 目录,目录如下:

1

git clone https://github.com/gmarik/Vundle.vim.git C:\Vim\vimfiles\bundle\Vundle.vim

如果因为文件太大卡住了,报错:fatal:early EOF  fatal:index-pack faild

那试试只下载最新版本,用 --depth 1, 

另外也可以试下 压缩后传输

git config --add core.compression -1

or

git config --global --add core.compression -1

如果你是安装在C:\Program Files\Vim下面,文件名中间有空格,在输入命令时应该把整个路径加上双引号

 

注意路径的斜杠和反斜杠的区别

此时Vim的目录结构应该如下所示

B、添加一个gvim目录的 环境变量 $VIM ,步骤 :我的电脑->属性->高级系统设置->高级->环境变量->新建 ;如图

C、在vim配置文件_vimrc添加 bundle的配置

vim的配置文件 _vimrc (在linux文件名是 .vimrc , 在windows下面是 _vimrc);这里直接配置一个全局的 _vimrc 文件,路径:C:\Vim\_vimrc  , 可以做下vim配置文件_vimrc初始化的简单修改,然后添加关于bundle的如下内容:

  1. set nocompatible " be iMproved, required
  2. filetype off " required
  3. set rtp+=$VIM/vimfiles/bundle/Vundle.vim/
  4. let path='$VIM/Vimfiles/bundle'
  5. call vundle#begin(path)
  6. Plugin 'gmarik/Vundle.vim' "管理Vundle自身
  7. call vundle#end()
  8. 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
安装完成后插件就能用了

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

A、安装和基本用法

通过vim插件管理工具Vundle安装NERDTree和vim-nerdtree-tabs就很简单,只需要将插件路径添加到bundle的配置即可,添加两行

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

如下,用记事本打开vim的配置文件_vimrc,添加上面两句:

  1. set rtp+=$VIM/vimfiles/bundle/Vundle.vim/
  2. let path='$VIM/Vimfiles/bundle'
  3. call vundle#begin(path)
  4. Plugin 'gmarik/Vundle.vim' "管理Vundle自身
  5. Plugin 'scrooloose/nerdtree' "路径目录树插件
  6. Plugin 'jistr/vim-nerdtree-tabs'
  7. call vundle#end()
  8. filetype plugin indent on

"然后重启Vim并输入PluginInstall`,即可完成安装

然后输入: NERDTreeToggle即可打开文件树。当然,默认是关闭的,需要每次都输入命令打开。
还可以设置vim快捷键来映射,在vimrc中加入:

  1. map <F3> :NERDTreeMirror<CR>
  2. map <F3> :NERDTreeToggle<CR>

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

4、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

https://blog.csdn.net/zxy9602/article/details/79439257

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多