热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我的vim配置记录

一整体介绍配置路径,etcvimvimrc,这个是系统的vim配置,如果一台PC多个用户使用,每个用户的习惯不同的话,可以使用不同的配置,在用户目录下新建一个.vimrc的文件就可以了。我目前

一 整体介绍

配置路径,/etc/vim/vimrc,这个是系统的vim配置,如果一台PC多个用户使用,每个用户的习惯不同的话,可以使用不同的配置,在用户目录下新建一个.vimrc的文件就可以了。

我目前是将配置写在系统的配置中,我的配置文件如下所示:

set nu
set tabstop=4
set autoindent
set matchtime=1
set hlsearch
set cindent
set shiftwidth=4
set ruler
set showmode
colorscheme desert
set guifOnt=Droid\ Sans\ Mono\ 14


上面是基本的配置,写在系统配置中,在个人用户中,做了一些有趣的定制,目前用户目录下的vimrc的配置文件如下:

"解决中文乱码问题,先检查编码,转换成utf-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

"nerdtree

map :NERDTreeToggle
"YouComepleteMe
let g:ycm_global_ycm_extra_cOnf= '/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
map :YcmCompleter GoToDefinitionElseDeclaration

"tagbar setting
nnoremap :TagbarToggle
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_Bundle setting
set nocompatible " be iMproved
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
Bundle 'vim-scripts/fcitx.vim'
"方便xml的插件
Bundle 'othree/xml.vim'
"自动补全的插件
Bundle 'Valloric/YouCompleteMe'
"目录树
Bundle 'scrooloose/nerdtree'
Bundle 'majutsushi/tagbar'
Bundle 'vim-scripts/a.vim'filetype plugin indent on     " required!

二 具体介绍

下面是根据使用的过程中做的记录,不断的完善自己的vim配置

1.不同平台下的字体设置不一样,为了通用,可以这样设置,参见(http://stackoverflow.com/questions/3539437/gvim-ubuntu-letter-spacing-consolas-font):

if has("gui_gtk2")
set guifOnt=Consolas\ 11
elseif has("gui_macvim")
set guifOnt=Consolas:h12
elseif has("gui_win32")
set guifOnt=Consolas:h11
end

2. 使用vundle管理vim的插件,参考:点击打开链接:

(1) 下载vundle

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
(2) vimrc中添加配置脚本:

set nocompatible               " be iMproved

let g:ycm_global_ycm_extra_cOnf= '/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py'

filetype off " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
Bundle 'vim-scripts/fcitx.vim'
"方便xml的插件
Bundle 'othree/xml.vim'
"自动补全的插件
Bundle 'Valloric/YouCompleteMe'
"目录树
Bundle 'scrooloose/nerdtree'
filetype plugin indent on " required!
其中, othree/xml.vim,是指github上用户为othree写的xml.vim插件,如果是其它地方的资源,写全部url即可.

(3)安装对应的插件,终端下执行:

vim +BundleInstall +qall

(4)我的插件列表:

a. xml.vim 编写xml的插件,具体使用方法参见doc里面的说明文件;

b. YouCompleteMe 补全的插件,据说是最好用的补全插件,需要编译,具体方法参见:点击打开链接 . 我编译的时候遇到问题:Could not find pythonLibs,方法:sudo apt-get install python-dev. 还有错误,是编译内存不够的问题,重新安装即可. 还有C++头文件和stl系统函数不能自动补全的问题,是配置文件中没有写好的问题,打开配置文件:/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py,使用命令:

echo | clang -v -E -x c++ -
来查找C++对应的头文件,然后讲输出结果添加到上面的配置文件中即可。具体细节在github上都有讲,需要说明的是,如果不能补全stl,重新编译试试,用的是quick安装的方法,比较简单。

c. NERDTree 文件目录树,Bundle 'scrooloose/nerdtree' ,设置参考帖子:点击打开链接 在vimrc中设置对应的快捷键:map :NERDTreeToggle,另外,ctrl+w可以切换窗口.如果在终端下打开gvim,然后打开目录就显示的是当前的根目录,而在文件浏览器里右键用gvim打开就是用户根目录. 具体命令可以查看帮助文档

d.TagBar 浏览代码符号的插件,相对于taglist,tagbar在面向对象方面做的更好,所以选择了tagbar. 同样根据上面的方式去安装tagvar,github地址:点击打开链接.这个插件是基于ctags,所以需要先安装ctags(sudo apt-get install ctags). 然后做如下配置:

"tagbar setting
nnoremap :TagbarToggle
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_width=30

使用F4键就可以切换tagbar的显示了

f. 批量注释与反注释,比较简单就不用插件了,参见博客点击打开链接.选中要注释的行,ctrl+v进入列模式,按下"I",进入插入模式,输入对应的注释符即可,注意按两次esc.批量取消注释,同样是这样的方法.当然存在这样的插件,不过不能全部依赖插件.

g.C文件和.h文件之间的快速切换,a.vim插件,github地址:点击打开链接.命令行中输入":A"可以进行快速切换,因为比较简单就不需要设置快捷键了,更加详细的请参考帮助文档.


3. vim打开windows下文件中文乱码的解决方法:
 "解决中文乱码问题,先检查编码,转换成utf-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8


------------------------------------------------------------------------------------------------------------------------------------------------

使用技巧:

1.格式化代码:

格式化全文: gg=G
格式化当前航: ==

2. 给vim装一个中文的帮助文档,参考帖子:点击打开链接

(1)下载安装包:点击打开链接

(2)解压缩,进行安装:

sudo ./vimcdoc.sh -i
(3)配置一下,在~/.vimrc中添加一句:

set helplang=cn
(4)在vim中使用:

:help usr
就可以使用中文的vim帮助文档了,感谢翻译的这群人。

3. 输入的时候居中

需求:有时候总是想在屏幕中间输入,直接在命令行模式下输入zz即可。参见博客:点击打开链接

未完待续,,,


推荐阅读
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • ihaveusedthedelphidatabindingwizardwithmyxmlfile,andeverythingcompilesandrunsfine. ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • location,locationManager
    https:stackoverflow.comsearch?tabvotes&q[android]locationisnullhttps:developer.android.go ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
author-avatar
岁月掌心_447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有