Debian squeeze安装vim自动补全插件snipMate.绝对可用

本文介绍了如何在Debian环境下安装并配置snipMate插件,实现代码补全功能。包括环境变量设置、下载与解压插件、创建和编辑用户.vimrc文件等步骤,最终确保用户界面可以正常进行代码补全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前apt-get install 安装了vim 和vim-gtk 等等,在win下的snipMate代码补全是可以用的,在debian下就不能用了。

百思不得其解,换了很多方法,网上讲的云里雾里的,终于现在给我鼓捣出来了,特分享一下心得,


首先关于 vim的环境变量,大家需要有个了解,请移往下面的链接阅读片刻

http://blog.youkuaiyun.com/rainysia/article/details/7661288


因为我进debian后习惯性的进入root  ,我的VIM的各个路径分别在

/etc/vim   这里面是VIM的配置文件,分别有 vimrc gvimrc vimrc.tiny 3个文件,权限和组都为 root root 

/usr/share/vim   这个是VIM的主程序所在  分别有

                                   addons/                        vim的组件目录

                                   gvimrc                            一个符号链接,指向了上面的/etc/vim/gvimrc

                                   registry/                       

                                   vim72/                           vim的主要程序所在 里面包含了/doc /plugin等等这些目录

                                   vimcurrent/                   是vim72/的符号链接

                                   vimfiles/                        一个符号链接,指向了上面的/etc/vim/

                                   vimrc                             一个符号链接,指向了上面的/etc/vim/vimrc

                                   vimrc.tiny                      同上,指向/etc/vim/vimrc.tiny

(符号链接,修改后直接影响原文件)

然后在#root/ 下 有一个 .viminfo 文件是记录vim操作的,  大家可以 su - 进入管理员后 cd / 进入 #~ ,然后ls -la 可以看见这个文件

在/home/rainysia/  也有一个.viminfo 是记录的用户rainysia的vim操作的,直接打开终端后,$cd ~然后ls -la也可以看见这个文件

列出上面两个文件是为了诠释 管理员的~目录 和 用户的~目录 是不同的一个目录,都存在很多相同的文件


现在下载snipMate

http://www.vim.org/scripts/script.php?script_id=2540

比如我们下载到/home/rainysia/里面,  详细路径为 /home/rainysia/snipMate.zip

打开终端,$

$cd ~            进入用户的~/

$mkdir .vim

$touch .vimrc

第一个是创建.vim目录,第二个是创建.vimrc,我的vimrc的配置文件是在/etc/vim/vimrc这个地方,这个有什么用? 这个是用户的.vimrc配置,说白了,就是可以追加用户的vim配置,(特别注意,如果你的/etc/vim/vimrc 文件里面有函数,那么就不要复制你的/etc/vim/vimrc 这个配置文件为 $~/.vimrc ,因为函数重复会报错,不管是不是用的软链接,都要报错,所以这里,你只需要定义你的函数在/etc/vim/vimrc就行了)

这里我们是新建的一个干净的.vimrc文件


我先进入root

$su -

输入密码,进入root

#cd /etc/vim

#gnome-open ./     打开当前目录/etc/vim

用gvim打开vimrc

我在第一行定义了环境变量

let $VIMRUNTIME="/usr/share/vim/vim72"
set runtimepath=/usr/share/vim/vim72,~/.vim,~/.vim/after

在vim里面的可视界面 输入命令 (按ESC退出插入模式后的界面)

:echo $VIM

:echo $VIMRUNTIME

:scriptname

分别显示

/usr/share/vim/

/usr/share/vim/vim72

第二个是加载的脚本名,可以看到这里面是没有加载上/snipMate的插件的,因为这个是管理员root。而那个snipMate规定了必须在$~/.vim里面


下面回到终端,exit退出root 进入用户终端$

$cd ~ 

$gvim .vimrc

用用户的权限编辑 $~/.vimrc 这个文件, $~/.vimrc 这个文件实际路径为 /home/rainysia/.vimrc  我的用户名是rainysia

前面说了,用户的.vimrc文件是增加或者修改vim在用户权限下的配置的,所以这里我们加上三行

set runtimepath=/usr/share/vim/vim72,~/.vim,~/.vim/after
let g:snippets_dir='/home/rainysia/.vim/snippets'
filetype plugin on

第一个行的意思是设置runtimepath的路径,第二行的意思是让snipMate的代码扩展组件定义为这个详细路径,第三个是打开载入文件 类型插件

保存退出

:wq!

回到下载的snipMate   我放在/home/rainysia/snipMate.zip

进入终端$~:

~$:cd /

/$:cp /home/rainysia/snipMate.zip /home/rainysia/.vim/

/$:cd ~

~$:cd .vim/

~/.vim$:unzip snipMate.zip

解压snipMate在当前目录 要是.vim目录已经存在了提示你覆盖什么的,选All

然后直接打开的vim全部退出

在用户界面随便新建一个文件(权限是用户 不是root)

然后随便输入一个 比如init main 然后按下tab 

成功了。 代码自动补全为

int int main(int argc, const char *argv[])
{

return 0;
}

这样子debian下的gvim也可以用上snipMate了。类似的,ubuntu的用户,如果装不了,可以参考下。


解决这个插件装不上的几个思路

1: 环境变量

2:snipMate文件只能放在~/.vim$ 下,不能放在官方的说的不严谨的 ~下。 ~包含 # 和 $

3:定义let g:snippets_dir='/home/rainysia/.vim/snippets'  这个绝对路径 /home/后跟的我的用户名,你可以改成你的

4:多google 英文相关的关键词,不要中文。


附上snipmate的配置文件修改说明

一:是修改变量 在vimrc里面,增加 

let g:snips_author = 'rainysia'

类似的,你可以定义其它的,这个会影响到在snippets里面的各种文件类型的author输出.你也可以直接修改

二:修改snippets里面的_.snippets文件,增加全局的变量 比如我加了3个,date,time,week代码如下

snippet date
`strftime("%Y-%m-%d")`
snippet time
`strftime("%Y-%m-%d %H:%M:%S")`
snippet week
`strftime("%A")`

三:修改具体类型的.直接到对应的类型文件里面修改既可.修改完记得全部退出后再打开才生效.

四:可以配合zencoding使用.

### 配置 Vim 实现代码自动补全 #### 安装必要的软件包 为了使 Vim 支持 C/C++ 的代码自动补全,需要先安装一些依赖项。对于基于 Debian 的系统如 Ubuntu, 可以通过下面命令完成 Clangd 的安装[^2]: ```bash sudo apt-get update && sudo apt-get install clangd ``` #### 使用插件管理工具安装补全引擎 推荐采用 `vim-plug` 来管理 Vim 插件。首先,在 `.vimrc` 文件中加入 coc.nvim安装指令并执行 PlugInstall 命令加载插件。 接着配置 CocExtension 以便支持 C/C++ 补全功能: ```vimscript " .vimrc configuration snippet call plug#begin('~/.vim/plugged') Plug 'neoclide/coc.nvim', {'branch': 'release'} call plug#end() "C/C++ language server support via clangd extension :CocInstall coc-clangd ``` #### 设置 YouCompleteMe 插件 另一种方式是利用 YouCompleteMe(YCM) 插件提供更强大的语义分析能力。这涉及到下载源码编译安装以及调整个人偏好设置文件: 1. 下载 YCM 并按照官方说明构建; 2. 修改 `~/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py` 设定特定项目参数; 3. 编辑全局或本地的 `.vimrc`, 添加适当选项启用该特性[^4]. #### 启用基本关键词补全 即使不借助第三方库,Vim 自身也具备简单的单词匹配机制。只需确保开启了内建功能即可享受基础级别的辅助输入体验: ```vimscript " Enable basic completion features within Vim itself. set completeopt=menuone,noinsert,noselect inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" ``` 以上方法能够显著提升编程效率,让开发者专注于逻辑设计而非语法细节上。当然还有许多高级定制化方案可供探索,比如集成调试器、版本控制系统等形成完整的开发环境[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值