OS:kali linux

tool:vim

上图:

0x00

需要用到的插件及其下载地址

左边的一栏显示文件目录结构的用到的插件为 NERDTree 下载地址:https://github.com/jistr/vim-nerdtree-tabs

代码自动补全功能是大多数IDE会用到的,神编辑器也不能少 插件名字: snipMate  下载地址:https://github.com/msanders/snipmate.vim

智能提示配合代码补全,可以快速写好代码格式的框架,智能提示的插件名字:neocomplcache  下载地址:https://github.com/Shougo/neocomplcache.vim

当然这些插件不能随意安装,我们需要一个工具帮忙管理插件

pathogen是为了解决每一个插件安装后文件分散到多个目录不好管理而存在的。

同样的附上插件地址:https://github.com/tpope/vim-pathogens

0x01

切换到linux家目录 /root或者/home

0x02

1.mkdir  命令新建文件名为  .vim 的文件夹 

2.切换到 .vim 目录新建两个目录,分别命名为:autoload 和 bundle .

  autoload目录中放pathogen.vim,然后在配置文件的首行添加如下命令 execute pathogen#infect()  (配置文件后面说到)

3.将下载的插件解压,放在bundle目录下

4.同样在家目录新建.vimrc文件(文件,并非文件夹),在其中加入如下内容

  1 "缩进量为4空格
2 set tabstop=4
3 set shiftwidth=4
4 "引入插件pathogen使用
5 execute pathogen#infect()
6 call pathogen#helptags()
7 "禁用vi兼容模式
8 set nocompatible
9 "vim的内部编码
10 set encoding=utf-8
11 "vim在与屏幕和键盘交互师傅使用的编码(取决于实际的终端的设定)
12 set termencoding=utf-8
13 "vim打开文件时的尝试使用的编码
14 set fileencodings=utf-8,gbk,gb2312,default,latin1
15 "开启语法高亮功能
16 syntax enable
17 "允许用指定高亮替换方案
18 syntax on
19 "显示行号
20 set nu
21 "括号匹配
22 set showmatch
23 "自动检测文件类型
24 filetype plugin indent on
25 "在缩进和遇到Tab键时使用空格替代
26 set expandtab
27 "根据文件类型设置缩进格式
28 au FileType html,vim,javascript setl shiftwidth=2
29 au FileType html,vim,javascript setl tabstop=2
30 au FileType java,php,pathon setl shiftwidth=4
31 au FileType java,php,pathon setl tabstop=4
32 "启动vim时不要自动折叠代码
33 set foldlevel=100
34 "自动对齐
35 set ai
36 "根据下面的格式对齐
37 set si
38 set smarttab
39 set wrap
40 set lbr
41 set tw=0
42 set foldmethod=syntax
43 "总是显示状态栏
44 set laststatus=2
45 "显示光标当前位置
46 set ruler
47 "高亮显示当前行
48 set cursorline
49 "高亮显示搜索结果
50 set hlsearch
51 "禁止拆行
52 set nowrap
53 "设置快捷键前最,即<Leader>
54 let mapleader=":"
55 "设置快捷键将选中文本块复制到系统剪贴板
56 map <Leader>y "+y
57 "设置快捷键将系统剪贴板内容粘帖到vim
58 map <Leader>p "+p
59 noremap <F9> :!ctags -R<CR>
60 "设置tags文件为当前目录下的tags,默认情况也是
61 "set tags+=./tags
62 "配置文件.vimrc更改后自动重新载入使设置生效
63 autocmd! bufwritepost .vimrc source ~/.vimrc
64 "vim对一些流行的编程语言的语法提供自动完成的功能,但是默认是没有启用。
65 autocmd FileType php set omnifunc=phpcomplete#CompletePHP
66 autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
67 autocmd FileType css set omnifunc=csscomplete#CompleteCSS
68 autocmd FileType java setlocal omnifunc=javacomplete#Complete
69 "粘贴格式化
70 set pastetoggle=<F5>
71 "vim对一些语言实现的格式化命令
72 "在命令模式下直接输入“gg=G”。
73 "使用 c-x c-o 补全的时候,在窗口上方会出现一个新的窗口,补全完之后依然存在。设置关闭
74 set completeopt=longest,menuone
75 "
76 "以下为插件设置参数
77 "
78 "-----------------------------------------------------------------
79 "auto-pairs插件,用于自动补全括号,引号等
80 "
81 "-----------------------------------------------------------------
82 "nerdtree插件,目录树。
83 "设置默认开启
84 autocmd vimenter * NERDTree
85 "打开关闭快捷键
86 map <F3> :NERDTreeToggle<CR>
87 "当只剩下目录树时,自动关闭vim。
88 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
89 "
90 "-----------------------------------------------------------------
91 "vim-Markdown插件,实现markdown高亮。
92 "
93 "tagbar插件显示方法属性列表
94 map <silent> <F4> :TagbarToggle<CR>
95 let g:tagbar_width=30
96 let g:tagbar_autofocus=1
97 "
98 "-----------------------------------------------------------------
99 "NERD_commenter.vim 注释代码用的,
100 "[count]<Leader>cc 光标以下count行逐行添加注释(7,cc)
101 "[count]<Leader>cu 光标以下count行逐行取消注释(7,cu)
102 "[count]<Leader>cm 光标以下count行尝试添加块注释(7,cm)
103 "<Leader>cA 在行尾插入 /* */,并且进入插入模式。 这个命令方便写注释。
104 "注:count参数可选,无则默认为选中行或当前行
105 "-----------------------------------------------------------------
106 "snipmate.vim插件,智能代码补全
107 "
108 "-----------------------------------------------------------------
109 "neocomplcache插件,代码提示
110 "代码提示,可用上下箭头选择,选中后用 ctrl + n 补全代码
111 let g:neocomplcache_enable_at_startup = 1 " 终极补全
112 "-----------------------------------------------------------------
113 "vim-syntax-extra插件,函数名高亮
114
115 "-----------------------------------------------------------------
116 let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
117 let NERDCompactSexyComs=1 " 多行注释时样子更好看

保存,完成

说明:1.文中 .vimrc 配置文件内容参考自:https://www.cnblogs.com/wxw16/p/6259292.html

             2.其他的插件可根据自己的需求自行添加,文章开头只给出了部分插件下载地址,详情可参看.vimrc配置

文件内容,然后根据插件名字到github下载即可

vim插件配置的更多相关文章

  1. 「个人vim插件+配置」

    2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...

  2. DoxygenToolKit.vim 插件配置

    如何才能既享受 Doxygen 的强大功能,同时又避免大量的重复性的注释内容? 解决思路: 让编辑器来替我们写那些格式和内容固定的部分,我们只负责写真正的有效内容. 所以,答案就是:Vim + Dox ...

  3. vim 插件配置博客记录

    本来打算自己写下各种经常使用vim的插件安装方法, 可是搜索了下, 发现别人都写过了, 在写一遍也没有意思, 特此记录. Vim 经常使用命令 http://blog.csdn.net/hittata ...

  4. vim插件配置(一)

    vim代码自动显示提示代码插件:AutoComplPop:  代码(普通变量函数) c/c++代码(类的 . , ->, :: 操作符)的自动补全插件: OmniCppComplete

  5. 我的vim插件配置

    set nocompatible " be iMproved, required filetype off " required " set the runtime pa ...

  6. 常用VIM插件配置

    airline 状态栏美化 除了airline本体还要下airline主题 和打过powerline补丁的字体 常用设置: set laststatus=2 " 总是显示状态栏 set no ...

  7. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  8. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  9. vim学习、各类插件配置与安装【转】

    转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...

随机推荐

  1. Oracle自动存储管理ASM

    参考资料: https://docs.oracle.com/cd/B19306_01/server.102/b14231/storeman.htm#ADMIN036 什么是ASM? ASM是Autom ...

  2. WIN10自动修复失败无限循环

    网上解决方案大部分都是要重置电脑或者进pe修复系统,手头没有启动盘又不想重置电脑的可以照下边的操作试一试 1.先暂时禁用自动修复功能cmd管理员(winre可以进cmd)执行bcdedit bcded ...

  3. linux中root用户查看所有用户的历史操作命令

    转载https://blog.csdn.net/qq_27786919/article/details/91353351 1.创建用户审计文件存放目录和审计日志文件 :mkdir -p /var/lo ...

  4. python 3 字典

    字典,是可变的无序集合,同时是一种以键值对为基本元素的可以存储各种数据类型的集合,用大括号({})表示字典的开始和结束,元素之间用(,)分隔. 键值对,由键(Key)和值(Value)组成,中间用冒号 ...

  5. js-正则表达式的初步应用(一)

    一.正则表达式是使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模式.注:搜索模式也可用于文本替换 例子1 输出结果  注:(我为了方便在控制台输出,所以结果如下) 例子2 输出结果 上面 ...

  6. JVM--先说本地方法接口

    本地方法接口 在讲Java虚拟机运行时数据区中本地方法栈之前,我们先来说说运行时数据区之外的一个叫本地方法接口的东西简称JNI(Java Native Interface) 简单来讲,一个Native ...

  7. 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)请自取

    最近在读,附上网盘链接 复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1U6yFeZxz9uD6sSiu-Br06g 提取码:3Wt4

  8. Qt 展示pdf内容(新窗口或嵌入,pdfjs,linux)

    前言:初学Qt,在网上查找了诸多资料,有什么poppler.mupdf啊巴拉巴拉的,结果一个比一个费劲,最后还是采用pdfjs较为方便高效,为方便相关问题搜索,写了一下内容. 需求描述:Qt应用中不支 ...

  9. python-scrapy框架初探

    内置支持 selecting and extracting 使用扩展的CSS选择器和XPath表达式从HTML/XML源中获取数据,并使用正则表达式提取助手方法. interactive shell ...

  10. 10月1日之后,你新建的GitHub库默认分支不叫「master」了

    从 2020 年 10 月 1 日开始,GitHub 上的所有新库都将用中性词「main」命名,取代原来的「master」,因为后者是一个容易让人联想到奴隶制的术语. 这个决定并不是最近才做出的.今年 ...