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 ...
随机推荐
- 干货 | 揭秘如何增加listing多个类目节点
流量是电商销售的必要因素,可以说,任何成功的电商平台都离不开流量.亚马逊listing优化做得好,不仅能提高产品的曝光率,还能提升转换率,而好的类目可以吸引大的流量.帮你快速爬升. 首先我们来了解一下 ...
- Django-models & QuerySet API
django中配置mysql数据库 1,首先配置settings.py. 一是在INSTALLED_APPS里面加入app名称: 二是配置数据库相关信息 INSTALLED_APPS = [ 'dja ...
- Element-ui上传文件(删除、添加、预览)
先看下效果是不是你所需要的.... 上传文件进度条后续会加上的.... 功能需求:默认为上传状态 1.未上传:点击可上传文件 2.已上传:点击可上传文件 (1).鼠标移入[删除] (2).鼠标点击[预 ...
- Analysis servlet
@WebServlet("/cdiservlet") public class NewServlet extends HttpServlet { private Message m ...
- java8 简便的map和list操作
如果你看到这篇文章,说明你对java繁琐的list和map操作产生了厌烦.在java中,频繁的操作基本上是获取到对象list,然后根据某个属性或者某几个属性的值,把list转为map,然后遍历其他对象 ...
- 使用monitor.bat用DDMS查看其它项目的布局
查看结果
- angular学习3
#创建了一个component 查看angular.json文件: "prefix":"app", 在所创建的component的selector上添加了app ...
- json对象转对象
方式1:var obj = JSON.parse(jsonObject); 方式2:var obj = eval("("+jsonObject+")");
- springboot webmvc初始化:一个登陆异常引出的话题
1.场景复现: 一个登陆异常引出的问题. 我们通过精心组织组件扫描的方式,来装配不同的子模块,形成一个可运行的应用: 在载入某个子模块后,我们发现应用虽然正常启动,但尝试登陆的时候,出现一个很异常的异 ...
- Linux快捷键总结
使用Linux很久了,现对经常用到的快捷键做一个总结: 最重要的一个当然是tab了 [root@localhost ~]# cd /etc/sys sysconfig/ sysctl.conf sys ...
