Vim+Taglist+AutoComplPop之代码目录分栏信息和自动补全提示(Ubuntu环境)
一步:
首先在Ubuntu环境中安装ctags: sudo apt-get install ctags
第二部:
安装Taglist-------------Taglist是vim的一个插件,提供源代码符号的结构化视图。从http://www.vim.org/scripts/script.php?script_id=273下载安装包,也可以从http://vim-taglist.sourceforge.net/index.html下载。
解压:
1.$unzip -d taglist taglist_xx.zip
2.$cd taglist
复制到指定路径下:
1.$cp doc/taglist.txt /usr/share/vim/vim73/doc/
2.$cp plugin/taglist.vim /usr/share/vim/vim73/plugin/
(备注:以上两行指令中的vim73可以依据Ubuntu版本情况更改数字,比如我的是Ubuntu18版本的就改为vim80,Ubuntu12版本的改为vim73)
第三部:输入指令 $sudo nano /etc/vim/vimrc 打开文件后添加如下代码:
imap () ()<Left>
imap [] []<Left>
imap {} {}<Left>
imap "" ""<Left>
imap '' ''<Left>
imap <> <><Left>
inoremap <c-z> <left>
inoremap <c-j> <down>
inoremap <c-k> <up>
inoremap <c-l> <right>
:set tabstop=4
:set softtabstop=4
:set expandtab
:set nu
:set ruler " show the cursor position all the time
:set cino=g0,:0 "switch case对齐风格
syntax on
:set completeopt=preview,menu
:set completeopt=longest,menu
:set wildmenu
:set backspace=2
:set nobackup
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet
"taglist 设置
let Tlist_Auto_Open=1
:set tags=tags
:set autochdir
"只显示当前文件的tags
let Tlist_Enable_Fold_Column = 1
let Tlist_Show_One_File = 1
"设置taglist宽度
let Tlist_WinWidth=30
"taglist 窗口是最后一个窗口,则退出VIM
let Tlist_Exit_OnlyWindow=1
"在VIM窗口右侧显示taglist窗口
let Tlist_Use_Right_Window=1
let g:acp_behaviorKeywordCommand = "\<C-x>\<C-o>"
function HeaderPython()
call setline(1, "#!/usr/bin/env python")
call append(1, "#-*- coding:utf8 -*-")
normal G
normal o
normal o
endf
autocmd bufnewfile *.py call HeaderPython()
第四部:安装AutoComplPop
下载:http://www.vim.org/scripts/script.php?script_id=1879 同其他脚本插件的安装方法一致,将解压后的文件拷贝到~/.vim/ 下的相应目录里:
a)先创建三个文件夹autoload、doc、plugin:
cd ~/.vim
mkdir doc autoload plugin

b)然后进入到解压后的AutoComplPop目录里,进行如下操作:
cp autoload/* ~/.vim/autoload
cp doc/* ~/.vim/doc
cp plugin/* ~/.vim/plugin

c)最后重新打开vim,命令行输入:vim 在打开的界面底部输入:helptags ~/.vim/doc/按下Enter键执行即可。
至此,安装配置结束,随意打开一个.h头文件,效果如下:
自动补全效果如下:

Vim+Taglist+AutoComplPop之代码目录分栏信息和自动补全提示(Ubuntu环境)的更多相关文章
- Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结
1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...
- Vimer的福音 新时代的Vim C++自动补全插件 clang_complete
使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码 ...
- ADT开发中的一些优化设置:代码背景色、代码字体大小、代码自动补全
初学Android开发,在网上找到一些ADT工具的优化,自己设置好了,截图保存下来.免得以后忘了. 1. 设置背景颜色: 色调85.饱和度90.亮度205 RGB:199.237.204 2. 设置代 ...
- 新时代的Vim C++自动补全插件 clang_complete
Vimer的福音 新时代的Vim C++自动补全插件 clang_complete 使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插 ...
- Linux下QTCreator代码自动补全(是真的自动补全,不是手动触发)
在使用Windows下的QTCreator的时候,像visual studio一样代码自动补全十分方便,而在Linux下,QTCreator似乎不能做到. 网上有些说是可以设置成手动补全,今天试了一下 ...
- 基于linux vim环境python代码自动补全
(一)简述 在使用vim编写python文件的过程中,默认的vim不会实现代码补全功能,在写程序或者是改程序的时候不是很方面,很容易出错,但是vim提供了各种插件,其中包括这个python文件的自动补 ...
- vim 添加php自动补全 并格式化代码
自动补全,修改/etc/vimrc的配置 vim /etc/vimrc 添加: filetype plugin on autocmd FileType php set omnifunc=phpcomp ...
- VIM自动补全Python代码
pydiction插件 https://codeload.github.com/rkulla/pydiction/zip/master 新建bundle文件夹 mkdir ~/.vim/bundle ...
- linux下vim python代码自动补全
一.vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.p ...
随机推荐
- Vnpy官网汇总
Vnpy首页:http://www.vnpy.cn/ Vnpy社区:https://www.vnpy.com/ Vnpy论坛:http://www.vnpie.com/forum.php Github ...
- obfuscate 混淆 verb
- Netty官网首页(翻译)
官网:https://netty.io/ Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议 ...
- English trip EM1 - PE2 My My name is... Teacher:Lamb Key: introduce myself
课上内容(Lesson) Lamb let us does introduce myself. Make a "hangman" game at warm-up . How to ...
- JavaScrpt常用的封装方法
1.闭包封装.在这个封装方法中,所有的实例成员都共享属性和方法, 使得所有得方法和属性都私有且对象间共享 (function ($) { var Person = function(name) { r ...
- Java程序设计的第二次作业
本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图:二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获). 1.编写“人”类及其测试类.1.1 “人”类: 类 ...
- ZJOI2019Day2AFO记
题目读下来感觉,,,怎么看上去模型都这么简单全是套路题的样子.先想了下T3应该会50,是个计算几何,50够了..于是先写了40(10分等下再来写)这样就花掉了一个小时.....过去看T1,直接高斯消元 ...
- ubuntu nginx ssl 证书配置
前几天自己用 egg.js 写了个 api 接口,然后把它部署到服务器上.服务器是ubuntu 16.04 + nginx:因为要用到https,然后今天实践了一下如何配置https. 关于htt ...
- Vue2全家桶之二:vue-router(路由)详细教程,看这个就够了
作者:东西里本文转载于:https://www.jianshu.com/p/514c7588e877来源:简书 转载仅供自己日后看方便. 由于Vue在开发时对路由支持的不足,于是官方补充了vue- ...
- printf()、sprintf()、vprintf()、vsprintf()(转)
转自http://sumsung753.blog.163.com/blog/static/14636450120112151092934/ 一.printf() printf()函数优点在于可以格式化 ...
