个性化_vimrc配置教程:提升编辑体验

需积分: 9 6 下载量 109 浏览量 更新于2024-09-18 收藏 5KB TXT 举报
本文主要介绍的是Vim编辑器的个人配置文件`_vimrc`,通过这个文件可以自定义Vim的各项设置,提高编辑效率。配置文件中的代码展示了如何加载默认示例配置、设定Windows行为,以及自定义差异比较函数`MyDiff()`。此外,还包含了行号显示、颜色方案、语法高亮、制表符设置、自动缩进、文件类型检测和剪贴板共享等关键设置。 在Vim中,`_vimrc`是启动时加载的个人配置文件,用于定制编辑器的行为。以下是对配置文件中各个部分的详细解释: 1. `setnocompatible`: 这行命令禁用了Vim与vi的兼容模式,使得Vim能够使用其所有现代特性。 2. `source $VIMRUNTIME/vimrc_example.vim` 和 `source $VIMRUNTIME/mswin.vim`: 这两行分别加载了Vim运行时路径下的示例配置文件和Windows特定的行为设置,以确保基本功能和平台兼容性。 3. `behavemswin` 和 `setdiffexpr=MyDiff()`: 这些设置是针对Windows环境的,`behavemswin`使Vim的行为更接近于Windows标准文本编辑器,而`setdiffexpr=MyDiff()`则定义了一个自定义的差异比较函数,用于在差异比较操作中应用特定的参数。 4. `function MyDiff()`: 这是一个自定义的函数,用于自定义`diff`命令的行为。它根据当前的`diffopt`选项动态设置比较参数,如是否忽略大小写 (`-i`) 和空格 (`-b`)。 5. `set nu!`: 这行设置开启行号显示,`!`表示强制覆盖可能已有的禁用行号的设置。 6. `colorscheme fnaqevan`: 选择`fnaqevan`颜色方案,提供了美观的配色以增强代码的可读性。 7. `syntax enable` 和 `syntax on`: 分别启用语法高亮引擎和立即激活它,使得不同语言的代码有各自的语法颜色。 8. `set tabstop=4 softtabstop=4 shiftwidth=4`: 这些设置将制表符宽度设置为4个空格,`softtabstop`使得在插入模式下,退格键删除4个空格,而非实际的制表符;`shiftwidth`则定义了在使用`>>`或`<<`进行缩进时的空格数。 9. `set cinoptions=:N`: 这行设置了C++的缩进选项,`:N`表示在大括号后不进行新的一行缩进。 10. `filetype on`、`filetype plugin on` 和 `filetype indent on`: 开启文件类型检测,加载相应的插件和缩进规则,使得Vim可以根据文件类型自动调整设置。 11. `set nocp`: 禁用旧的`cp`选项,这使得Vim使用更现代的`cpo`选项集,通常会带来更好的行为。 12. `set autoindent`: 自动缩进功能,使得新行的缩进与上一行相同,方便代码对齐。 13. `"au GUIEnter * simalt ~x`: 这行可能用于在启动GUI版本的Vim时模拟Alt+X快捷键,但具体功能需要更多信息才能确定。 14. `"share clipboard`: 设置Vim与系统剪贴板共享,允许在Vim内外复制和粘贴内容。 通过这些配置,用户可以根据自己的需求和习惯优化Vim的使用体验,使其更加符合个人的工作流。不断调整和完善`_vimrc`文件是许多Vim用户提升生产力的重要途径。
2010-08-17 上传
gvim常用插件及其配置文件 支持c,perl,python,latex。 需要自己安装ctags .vim: after compiler doc indent ltags perl-support skeleton syntax autoload c-support ftdetect keymap Makefile plugin snipMate.vim.ct tools colors CVIMSYN ftplugin latextags Makefile.in README.csupport snippets .vim/after: ftplugin plugin syntax .vim/after/ftplugin: c_snippets.vim java_snippets.vim python_pydiction.vim python_snippets.vim sh_snippets.vim .vim/after/plugin: .vim/after/syntax: cpp.vim c.vim java.vim .vim/autoload: acp.vim perlsupportgui.vim perlsupportprofiling.vim perlsupportregex.vim snipMate.vim .vim/colors: desertEx.vim peachpuff.vim zenburn.vim .vim/compiler: tex.vim .vim/c-support: codesnippets doc rc scripts templates wordlists .vim/c-support/codesnippets: calloc_double_matrix.c main.cc print_array.cc.noindent calloc_int_matrix.c Makefile print_double_array.c.noindent main.c Makefile.multi-target.template print_int_array.c.noindent .vim/c-support/doc: ChangeLog c-hotkeys.pdf c-hotkeys.tex .vim/c-support/rc: customization.ctags customization.gvimrc customization.indent.pro customization.vimrc .vim/c-support/scripts: wrapper.sh .vim/c-support/templates: c.comments.template cpp.comments.template cpp.preprocessor.template c.statements.template c.cpp.template cpp.cpp.template cpp.statements.template Templates c.idioms.template cpp.idioms.template c.preprocessor.template Templates~ .vim/c-support/wordlists: c-c++-keywords.list c-c++-keywords.list.bak k+r.list stl_index.list .vim/CVIMSYN: engspchk.contraction engspchk.dialect engspchk.dict engspchk.match engspchk.proper engspchk.rare .vim/doc: acp.jax latexhelp.txt latex-suite-quickstart.css Makefile taglist.txt acp.txt latex-suite latex-suite-quickstart.html Makefile.in tags catalog.xml la