# vim **Repository Path**: caijunjun/vim ## Basic Information - **Project Name**: vim - **Description**: vim全套配置 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2016-12-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README https://github.com/xidiandaily/vim vim config, all file in one project 请保证路径中没有空格 **以Tab方式打开文件:** -------------------------------------------------------------------------------- Linux下: alias vim='gvim --remote-tab-silent' alias gvim='gvim --remote-tab-silent' windows 下要分2步: 1) 双击时打开标签页 修改注册表:/HKEY_CLASSES_ROOT/Applications/gvim.exe/shell/edit/command的值 C:\Program Files\Vim\vim70\gvim.exe -p --remote-tab-silent "%1" 2)鼠标右键时打开标签页 打开注册表,添加以下项: [HKEY_CLASSES_ROOT\*\]下添加Shell项       [HKEY_CLASSES_ROOT\*\Shell] 下添加Edit with &Vim项 [HKEY_CLASSES_ROOT\*\Shell\Edit with &Vim] 添加command项 [HKEY_CLASSES_ROOT\*\Shell\Edit with &Vim\command]修改默认值为"D:\Program Files\Vim\vim73\gvim.exe" -p --remote-tab-silent "%1" -------------------------------------------------------------------------------- 常用功能 normal 模式下,用NT 在窗口右侧打开资源管理器NERD_tree normal 模式下,用Tl 在窗口左侧打开函数列表taglist input 模式下, 用+X+O 自动补全('omnifunc'补全)(推荐) input 模式下, 用 自动补全('superTab'补全) input 模式下, 用+X+N 自动补全(查询本文件关键字) input 模式下, 用 自动补全(tab补全)(遍历所有头文件,较慢) normal 模式下, 用+F8 将语言切换至 cp936 normal 模式下, 用+F9 将语言切换至 utf-8(默认语言) 选择模式下, 用ga进行对齐vim-easy-align 新增插件放到 vimfiles/bundle/ 下就行 pathogen 启动时候能够根据项目类型(cpp/php)选择性加载库文件 cpp tags:glibc/stl/linux kernel head file/zeromq head file/ normal 模式下, 用F5 设置当前项目类型(cpp/php) normal 模式下, 用F12更新当前的 tags、cscope文件 创建自定义项目 打开 VIMPROJ:win下面使用todo.bat 打开 cmd,调用 buildproject.bat projectname 就会创建空白的项目模板;mac/linux 采用 buildprojet.sh projectname 达到同样目标; 按照空白项目模板修改项目文件 projectname.vim; 执行 VIM/PROJ/projectname.bat(sh),打开创建的项目 扩展功能,(需要安装 Cygwin): 启动项目时候打开最近修改的文件 normal 模式下, 用F7 自动上传 全部 or 上次上传之后修改过 文件 配置方法: 下载本工程并覆盖在 vim根目录(文件路径如下)(vim根目录不能含有空格) /Vim/ |+ExtTool/ |+Font/ |+vim73/ |+vimfiles/ |+VIMPROJ/ |-_vimrc `-README.md 设置 VIMPROJ 系统变量为 [your dir]/Vim/VIMPROJ 将 [your dir]/Vim/vim73 添加至系统变量 将 /usr/local/bin;/usr/bin; 添加至系统变量 $PATH 的头部 ctags 和 cscope 在 ExtTool/ 中, 解压之后,将其所在的路径放到系统PATH中就可以了。(不要求在 vim 中,最好路径名称是英文) win系统:启动gvim,命令模式输入(注意包含第一个冒号) :e $home/_vimrc(修改_vimrc文件),输入(注意不包含冒号):source $VIMPROJ/vimrc/_vimrc,保存退出 Mac系统:启动gvim,命令模式输入(注意包含第一个冒号) :e $home/.vimrc(修改.vimrc文件),输入(注意不包含冒号):source $VIMPROJ/vimrc/_vimrc,保存退出 (非必须)字体可以在 Font/ 中,自己安装到系统Font就可以。 (扩展功能)安装 cygwin, 安装 ssh 工具; (扩展功能)设置 ssh通讯,参考: Linux(Centos)配置OpenSSH无密码登陆 (扩展功能) 设置系统变量 CYGWINPATH,值为 cygwin 的 mintty.exe 坐在的路径; (扩展功能)sh的启动方式默认设成 cygwin的 mintty.exe; 下面是常见问题及解决办法: 启动后提示找不gvim.exe: 请查看是否将 vim/vim73 添加到系统目录 启动后无法打开最近修改的文件,报一串错误提示: 请查看 /usr/local/bin;/usr/bin;是否在 $PATH 头部,如果添加了还不解决,请下下一条. 启动时候弹框标红,很多时候是因为脚本文件变了 Window格式导致的,将脚本转成unix即可。解决方法:启动cygwin,输入"cd $VIMPROJ/Tool/;dos2unix *.sh;dos2unix *.vim;"; stl库自动补全功能不能用,例如 inserter() 使用 +X+O并没有提示: 请添加 std:: 或者 using namespace std;,一般是因为类没有添加导致的。已经将 std,_GLIBCXX_STD配置到默认类中,但是不知为何不起作用(原因是在InitCPP设置OmniCpp_DefaultNamespaces 没加g:前缀,导致设置失败。 Enjoy~ 下面是扩展功能说明 项目(Proj) 当前支持两种类型的项目cpp,php。如果写好项目配置文件,通过批处理脚本启动,则能够: 启动时候自动打开项目中最近修改文件 根据项目类型cpp,php 使用最合适的函数匹配功能,自动补全功能,自动上传功能 配置项目文件步骤(win) 进入$VIMPROJ\PROJ 文件夹,可以看到下面的文件: $VIMPROJ/VIMPROJ/ ├── buildprojet.bat ├── buildprojet.sh ├── PROJ │ ├── buildprojet.sh │ └── template.bat.bak ├── template.vim //项目模板文件 ├── todo.bat //快速启动cmd 2.双击 todo.bat 启动window的 cmd。 在在命令行下输入 buildprojet.bat [projectname],例如创建项目 foo。那就输入buildprojet.bat foo,回车后会自动创建项目描述文件并进入编辑模式。此时,文件变动为: $VIMPROJ/VIMPROJ/ ├── template.vim //项目配置模板 ├── todo.bat ├── buildprojet.bat ├── foo.vim //新建的foo项目描述文件 ├── PROJ │ ├── buildprojet.sh │ ├── BY_Hkqp.bat │ ├── foo.bat //新建的foo项目启动脚本 3.项目文件的说明 "这个文件试图使得创建 VIM 项目更加简单方便。 "①常用的全局设置已经在 _vimrc中设置了 "②常用的CPP设置在InitCPP.vim中设置 "③还有一些每个项目私有的设置,比如说项目的根目录,启动时需要打开的文件,一键上传的目录配置等 "③‘项目的私有设置在这个文件进行设置。 " "初始化Main函数 source $VIMPROJ/Tool/main.vim function! InitWorkSpace() "let g:proj_type="cpp" //创建CPP项目,则将此前面的注释 " 去掉 "let g:proj_type="pkm" //非公共项目 "let g:proj_type="php" //创建php项目,则将此前面注释 " 去掉 let g:SSHRemoteBaseDir="/usr/server/Mahjong.gb/Borrow/Compile" //F7 自动上传远程路径 let g:SSHUSER="lawrenceChi@192.168.200.144" //F7 自动上传远程服务器用户名及IP let g:SSHPORT=3600 //F7 自动上传端口 endfunction "Main函数中的参数是项目所在的根目录 call Main("E:/E_temp/foo") //项目所在路径,注意"/"分隔符号 4.配置好之后,下次启动,直接使用 foo.bat 就可以自动打开项目。 5.可以通过这个文章 将PROJ文件夹放置在工具栏上,方便使用。 6.项目模板文件是template.vim,你可以把你常用配置写到里面,这样以后再创建新项目,会更方便。 无项目配置文件时使用项目功能步骤 打开gvim,输入项目路径。例如输入::cd E:/E_temp/foo, 将E:/E_temp/foo设成当前工作目录; normal模式下,用NT 在窗口右侧打开资源管理器NERD_tree normal模式下,用Tl 在窗口左侧打开函数列表taglist normal模式下,用F5 ,在弹出窗口选择 项目类型。 normal 模式下, 用F12更新当前的 tags、cscope文件 注意这种方式下自动上传功能不可用; 常见问题及解决办法: 点击项目启动脚本foo.bat,启动失败,请先看看配置文件中的项目路径中的"\"是不是改成了 "/". 自动上传功能 TODO:将来可能讲自动上传模块独立出来,现在还没做~ Enjoy~