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. Azure技术系列之Redis篇---第一章数据缓存

    嘈杂和忙碌的生活占据占据了生活的每一天,好久没有静下心来对自己喜欢的技术进行归纳总结了.痛定思痛,今天开始开荒,把之前研究的技术进行归纳总结,先从Azure的Redis的开发技术开始. Azure 的 ...

  2. python之os模块使用

    python中os模块的常用语法 1.查看当前路径及路径下的目录 os.getcwd():返回当前路径(不包括文件名) os.listdir():返回当前路径下的所有目录列表. os.listdir( ...

  3. [SpringBoot项目]笔记

    request&response 重定向(跳转) 301 永久跳转/302 临时跳转 工业用途 通过url判断来自手机页面,就跳转到手机对应的页面. 活动页面临时改url? 异常处理 定义一个 ...

  4. matplotlib | Python强大的作图工具,让你从此驾驭图表(二)

    今天是数据处理专题的第10篇文章,我们继续来聊聊matplot这个工具库. 在上周的文章当中我们介绍了matplot的基本用法,以及展示了一些简单的例子,让大家直观地了解这个工具包.我们可以简单地将它 ...

  5. 微信小程序 | 模仿百思不得其姐

    微信小程序 仿百思不得姐 设备 微信开发者工具 v1.02.1901230 扩展 修复了视频点击播放不流畅的问题 修复了视频的暂停够无法播放问题 优化了部分页面 接口 首页 http://api.bu ...

  6. web网站——理论01

    LAMP的架构以及通信过程 LAMP的架构: LAMP是一个多C/S架构的平台,最初级为web客户端基于TCP/IP通过http协议发起传送,这个请求可能是动态的,也可能是静态的. 所以web服务器通 ...

  7. JsonPath使用教程

    application/json标识Json数据格式,是Http请求常见的一种Content-Type.我们经常也会看到接口返回数据类型为json格式.功能测试/自动化脚本里,经常会需要提取json数 ...

  8. 我搭建了一套企业级私有Git服务,抗住了每天上万次攻击!

    写在前面 事情是这样的,今年疫情期间,我在某云购买了一套服务器,做什么呢?不是用来部署项目,也不是用来搭建网站,而是用来做代码备份和管理.没错,都是我个人的代码,也许你会说,你个人能有多少代码啊?确实 ...

  9. 1.7Hadoop-HDFS命令

  10. 【小白学PyTorch】15 TF2实现一个简单的服装分类任务

    [新闻]:机器学习炼丹术的粉丝的人工智能交流群已经建立,目前有目标检测.医学图像.时间序列等多个目标为技术学习的分群和水群唠嗑的总群,欢迎大家加炼丹兄为好友,加入炼丹协会.微信:cyx64501661 ...