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 ...
随机推荐
- 第 9 章 数据管理 - 073 - 如何实现跨 Docker 主机存储?
从业务数据的角度看,容器可以分为两类: 无状态(stateless)容器 无状态是指容器在运行过程中不需要保存数据,每次访问的结果不依赖上一次访问,比如提供静态页面的 web 服务器. 有状态(sta ...
- win10无法搜索本地文件,修复方法?
win10无法搜索本地文件,实在太不方便了,网上查了一圈没几个方法有效的,筛选出来2个成功解决的问题,具体是哪个起到作用,不太清楚,都放上来,大家自行选择! 方法1:按“Windows+ X”后选择“ ...
- vue 双向绑定 数据修改但页面没刷新
在数据改动的代码后加 this.$forceUpdate(); 若是在某个特定方法中 则将this改为方法中设定的名称
- Petrozavodsk Winter Camp, Day 8, 2014, Ship
$dp(i,j)$表示i-j这段还没运走时的状态,包括 运输了多少次,还剩多少空间 每次枚举运输左边还是右边转移 #include <bits/stdc++.h> #define rep( ...
- Fatal error: Uncaught Error: Call to undefined function curl_init()
系统:win7 对于此错误首先检查php_curl扩展是否开启 , extension=curl #注意去掉前面的分号 然后检查php\ext下是否有php_curl.dll 文件(默认都有) ph ...
- java 使用GET请求编码问题解决
java GET请求解决编码的有效代码前端: encodeURI(encodeURI("你好") 后端代码: String name = request.getParameter( ...
- GitHub 托管的10款免费开源 windows 工具
GitHub 是如今所有开源事物的中央仓库, 这个网站最近发布了一个叫做<2016 Octoverse 状态报告>,详细列出了从去年起其一系列亮点, 包括总的活跃用户数,最常见的 emo ...
- leetcode 78,236,300
---恢复内容开始--- 2018.3.16目前已刷27题,打卡记录有意思的题目. leetcode78 subsets 思路1:DFS遍历子集,每遇到一个数就把该数加上原来的子集变成新的子集. cl ...
- Jenkins自动构建gitlab项目(jenkins+maven+giltlab+tomcat)
环境准备: System:CentOS 7.3 (最小化安装) JDK: 8u161 (1.8_161) tomcat: 8.5.29 Jenkins: Jenkins 2.107.1 Gitlab: ...
- C#使用RSA证书文件加密和解密
public class EncrypHelp { static public byte[] RSAEncrypt(byte[] DataToEncrypt, RSAParameters RSAKey ...
