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 ...
随机推荐
- Python入门(一)数据类型、循环语句
脚本语言类型: 1.编译型语言:写完代码不能执行,需要先编译 eg:c.c++.c# 2.解释性语言:不需要编译 直接执行 eg:python.jav ...
- [大数据面试题]hadoop核心知识点
* 面试答案为LZ所写,如需转载请注明出处,谢谢. * 这里不涉及HiveSQL和HBase操作的笔试题,这些东西另有总结. 1.MR意义. MR是一个用于处理大数据的分布式离线计算框架,它采用”分而 ...
- QT 右键弹出菜单
QWidget及其子类都可有右键菜单 1.设置标志 在widget初始化的时候 setContextMenuPolicy(Qt::CustomContextMenu); 设置为自定义菜单模式 2.在需 ...
- JSP介绍
1.JSP简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多公司参与一起建立的 ...
- edu9E. Thief in a Shop
题意:n个物品每个价值a[i],要求选k个,可以重复,问能取到哪几个价值 题解:fft裸题.但是直接一次fft,然后快速幂会boom.这样是严格的\(2^{20}*log2(2^{20})*log(w ...
- imp、exp命令导出优化
本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其对应的參数进行了说明,然后通过一些演示样例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同o ...
- 8、TypeScript-解构赋值
1.数组的解构赋值 2.对象的解构赋值 注意:在浏览器环境中,windows本身有一个成员name,所以要重新,语法为 属性名:重命名 3.函数的解构赋值
- EasyUI 中 Combobox里的onChange和onSelect事件的区别
EasyUI 中 Combobox 选项发生改变时会触发 onChange,onSelect,onClick 3 个事件. 最近要做一个级联的 Combo 菜单,类似于选择地址时让用户填写省,市,区的 ...
- 工作笔记6-java相关
1.有时候安装失败或者要装新版本的JDK,可先卸载JDK: a. 首先执行命令查看服务器下的JDK的版本:命令如下:rpm -qa |grep jdk b. 然后执行命令:yum -y rem ...
- INSERT INTO SELECT
今天遇到一个问题在写把查询的数据添加到一个表里时出现问题 sql INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FR ...
