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. 集群实战(1):swarm安装记述

    查看主机名 hostnamectl 修改主机名 hostnamectl set-hostname xxx 关闭selinux sed -i 's/SELINUX=enforcing/#SELINUX= ...

  2. 1.Strom-概述

  3. vue中配置axios.js文件,发送请求

    为了统一管理请求,每个项目都会去配置axios:而不是在vue中直接使用,那样不好维护等等 下面是我配置的最基础的axios文件 第一步:首先新建一个axios文件,我是放在router文件下的 im ...

  4. 金蝶k/3 cloud 生产用料清单下推生成调拨单二开记录

    系统默认的生产用料清单下推生成调拨单功能,是根据调拨选单数量来的,有库存和没有库存的都混在一起,导致业务人员审核调拨单的时候需要删除没有库存的分录行,严重影响工作效率. 现通过二开程序,根据生产用料清 ...

  5. python实现随机复制若干个文件到新目录

    python实现随机复制若干个文件到新目录 1说明 1.1 目的 随机选择一个文件下的若干个文件,并将文件复制到新文件夹下 1.2 要求 需要将random_select_and_copy_file. ...

  6. 全世界最强的算法平台codeforces究竟有什么魅力?

    大家好,之前说过由于和LeetCode结了梁子,所以周末的LeetCode专题取消了,给大家写点其他专题的算法问题.目前选择的是国外著名的编程竞赛平台--codeforces.它在竞赛圈名气比较大,对 ...

  7. TypeScript实现设计模式——生成器模式

    生成器模式是一种在TypeScript/JavaScript中非常常见的创建型设计模式,它使你能够分步骤创建复杂对象.当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用. 问题 假设我们需 ...

  8. 动态生成简约MVC请求接口|抛弃一切注解减少重复劳动吧

    背景 目前创建一个后端请求接口给别人提供服务,无论是使用SpringMVC方式注解,还是使用SpringCloud的Feign注解,都是需要填写好@RequestMap.@Controller.@Pa ...

  9. Python其他数据结构collection模块-namtuple defaultdict deque Queue Counter OrderDict arrary

    nametuple 是tuple扩展子类,命名元组,其实本质上简单类对象 from collections import namedtuple info = namedtuple("Info ...

  10. Docker系列——利用gogs搭建属于自己的git服务

    gogs简介 Gogs的目标是打造一个最简单.最快速和最轻松的方式搭建自助Git服务.使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括 Linux.Mac O ...