vim编辑python_强大的vim编辑器(python配置)

插件安装

我的配置有:

标签导航(tagbar和ctags)、语法检测(syntastic)、文件搜索(ctrlp)、目录树导航(nerdtree)、状态栏美化(vim-powerline)、主题风格(solarized)、python相关(jedi-vim和python-mode)、括号匹配高亮(rainbow_parentheses)、可视化缩进(vim-indent-guides)。

还有一个最重要的就是插件管理工具vundle。

1、安装vundle

Shell

1

git clonehttps://github.com/gmarik/vundle.git~/.vim/bundle/vundle

2、.vimrc配置文件

~/.vimrc是VIM的配置文件,如果这个配置文件不存在,我们可以自行创建(命令:vi .vimrc)。安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持。所以,在~/.vimrc中添加代码如下:

Shell

1

2

3

4

5

6

7

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

iffilereadable(expand("~/.vimrc.bundles"))

source~/.vimrc.bundles

endif

为了防止配置文件太乱,我们可以通过~/.vimrc.bundles管理我们安装的插件。

3、.vimrc.bundles配置文件

首先创建文件~/.vimrc.bundles,然后添加代码如下:

Shell

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

if&compatible

set nocompatible

end

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

"Let Vundle manage Vundle

Bundle'gmarik/vundle'

"Define bundles via Github repos

"标签导航

Bundle'majutsushi/tagbar'

Bundle'vim-scripts/ctags.vim'

"静态代码分析

Bundle'scrooloose/syntastic'

"文件搜索

Bundle'kien/ctrlp.vim'

"目录树导航

Bundle"scrooloose/nerdtree"

"美化状态栏

Bundle"Lokaltog/vim-powerline"

"主题风格

Bundle"altercation/vim-colors-solarized"

"python自动补全

Bundle'davidhalter/jedi-vim'

Bundle"klen/python-mode"

"括号匹配高亮

Bundle'kien/rainbow_parentheses.vim'

"可视化缩进

Bundle'nathanaelkane/vim-indent-guides'

iffilereadable(expand("~/.vimrc.bundles.local"))

source~/.vimrc.bundles.local

endif

filetype on

如上述代码所示,我们通过Bundle指定各个插件在Github的地址,填写规则是"用户名/仓库名"。书写规则有三种,这里使用的是最常见的一种,其它书写方法这里就不说了,可以自行百度。

4、安装插件

我们已经指定好了各个插件的路径,接下里就是安装各个插件了。在shell中输入vim,进入命令行模式输入BundleInstall。trick_3_2.png

运行这个命令就开始自行安装我们之前指定的各个插件了。这个过程需要连网,下载并安装好各个插件之后会提示Done!trick_3_3.png

注意:由于tagbar依赖于ctags,所以我们还需要用指令安装ctags:

Shell

1

sudo apt-getinstall ctags

三、插件配置

1、基础配置

已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置。配置这里也很简单,下面是我的配置,编写~/.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

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

iffilereadable(expand("~/.vimrc.bundles"))

source~/.vimrc.bundles

endif

" tagbar标签导航

nmap tb :TagbarToggle

let g:tagbar_ctags_bin='/usr/bin/ctags'

let g:tagbar_width=30

autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()

let g:jedi#auto_initialization = 1

"主题solarized

letg:solarized_termtrans=1

letg:solarized_contrast="normal"

letg:solarized_visibility="normal"

" 配色方案

set background=dark

set t_Co=256

colorscheme solarized

"目录文件导航NERD-Tree

" \nt 打开nerdree窗口,在左侧栏显示

nmap nt :NERDTree

let NERDTreeHighlightCursorline=1

let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.obj$', '\.o$', '\.so$', '\.egg$', '^\.git$', '^\.svn$', '^\.hg$' ]

let g:netrw_home='~/bak'

"close vim ifthe only window left open isaNERDTree

autocmd bufenter *if(winnr("$")==1&&exists("b:NERDTreeType")&&b:NERDTreeType=="primary")|q|end

" ctrlp文件搜索

"打开ctrlp搜索

letg:ctrlp_map='ff'

letg:ctrlp_cmd='CtrlP'

" 相当于mru功能,show recently opened files

map fp :CtrlPMRU

"set wildignore+=*/tmp/*,*.so,*.swp,*.zip" MacOSX/Linux"

letg:ctrlp_custom_ignore={

\'dir':'\v[\/]\.(git|hg|svn|rvm)$',

\'file':'\v\.(exe|so|dll|zip|tar|tar.gz)$',

\}

"\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',

let g:ctrlp_working_path_mode=0

let g:ctrlp_match_window_bottom=1

let g:ctrlp_max_height=15

let g:ctrlp_match_window_reversed=0

let g:ctrlp_mruf_max=500

let g:ctrlp_follow_symlinks=1

"vim-powerline美化状态

" let g:Powerline_symbols = 'fancy'

let g:Powerline_symbols = 'unicode'

"括号匹配高亮

letg:rbpt_colorpairs=[

\['brown','RoyalBlue3'],

\['Darkblue','SeaGreen3'],

\['darkgray','DarkOrchid3'],

\['darkgreen','firebrick3'],

\['darkcyan','RoyalBlue3'],

\['darkred','SeaGreen3'],

\['darkmagenta','DarkOrchid3'],

\['brown','firebrick3'],

\['gray','RoyalBlue3'],

\['black','SeaGreen3'],

\['darkmagenta','DarkOrchid3'],

\['Darkblue','firebrick3'],

\['darkgreen','RoyalBlue3'],

\['darkcyan','SeaGreen3'],

\['darkred','DarkOrchid3'],

\['red','firebrick3'],

\]

letg:rbpt_max=40

letg:rbpt_loadcmd_toggle=0

" 可视化缩进

let g:indent_guides_enable_on_vim_startup = 0 "默认关闭

letg:indent_guides_guide_size=1" 指定对齐线的尺寸

let g:indent_guides_start_level = 2 "从第二层开始可视化显示缩进

你可以根据自己的喜好设置快捷键,是按键\,根据我的配置。在VIM的正常模式下:

依次按键\tb,就会调出标签导航;

依次按键\ff,就会调出文件搜索;

依次按键\nt,就会调出目录导航。

2、运行配置

这些基础配置已经完成,但是我想在VIM下像在IDE中一样,按一个键就运行当前编辑的python文件,并查看运行结果,这可以做到吗?

没问题!

在~/.vimrc最后一行追击代码如下:

Shell

1

2

"运行文件

map:w:r!python3%

上述代码的意思就是,在VIM的正常模式下,按F5就会保存文件并使用python3运行当前文件,并将结果输出到当前界面。

注意,:!python3表示运行系统命令python3,如果你没有安装python2和python3共存,此处只写python即可。

这样我们就可以边编辑边查看运行结果了:

1345694-20180831145259336-39383206.png

运行完之后,依然可以在VIM的正常模式下按u,撤回这个输出操作,这样输出结果就撤回了,我们就可以继续编写自己的代码了。

如果我们希望自己的vim具有自动补全功能,我们需要在 .vimrc 文件中添加:命令(vim .vimrc)-> a ->粘贴

filetype plugin on

let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'

四、总结

VIM很好用,很强大,用上了有种爱不释手的感觉。插件不用安装太多,适合自己的就行,根据自己的需求进行配置,编辑快捷键,真的很方便。

对于自己增加的需求,如果不知道安装什么插件,可以自行百度,度娘会告诉你想知道的东西,当然在github搜索也很方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值