Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PerfectWorks 的 Vim 配置以及插件

作者日常工作环境为 Linux,经常编辑 JavaScript/HTML/CSS/Python/Shell 文件,因此大部分插件都是为这些文件进行优化。

这份配置对 Vim 的修改不多,每个修改都有详细的注释说明,对初学者比较友好。

尽管作者对该配置的多平台兼容性有一定处理,但因为每人的使用习惯都不一致,所以并不建议直接使用该配置文件作为生产配置使用,而是建议将该项目 fork 出一个自己的版本来维护。

有更多问题,欢迎直接联系作者。

安装

*nix

在 $HOME 目录下执行以下命令

git clone git://github.com/perfectworks/vim.git ~/.vim
cd ~/.vim && ./install.sh

Windows

在 %HOME% 目录下执行

git clone git://github.com/perfectworks/vim.git %HOME%/.vim
cd %HOME%/.vim && install.bat

升级

在 .vim 目录下执行以下命令

git pull

升级插件

git submodule foreach "git checkout master && git pull"

配置修改

大部分的自定义修改都在 bundle/Config 这个 bundle 里面

  • Vim 本身配置修改一般在 bundle/Config/plugin/config.vm
  • 快捷键修改一般在 bundle/Config/plugin/shortcut.vim
  • 对插件的配置会在 bundle/Config/plugin/插件名.vim

自定义快捷键

大部分自定义快捷键都在 bundle/Config/plugin/shortcut.vim 中配置,<Leader> 键被映射为 \

  • Normal 模式
    • gp: 粘贴最近一次 yank 操作的文字 (比如 yy 之后又 dd 了,可以用 gp 来粘贴 yy 的结果)
    • /: 在分屏模式下放大 / 缩小当前窗口
    • <Leader>nt: 打开 NerdTree
    • <Leader>nf :打开 NerdTree 并且将光标跳转到现在编辑的文件 (nt 的意思是 Nerdtree Find)
    • <Leader>m: 调用系统 make
    • <Leader>sh: 打开系统 shell (打开 shell 之后退出会跳回 vim)
    • <F3>: 在当前目录以及子文件夹中搜索特定关键字 (搜索支持 Vim 正则, 默认会搜索 &lt;关键字>>,如果要取消左右的 &lt;&gt;,可以输入 /关键字)
    • <F6>: 切换粘贴模式
    • <F5>: 切换显示行号
    • <F7>/<F8>: 跳到上一条/下一条 quickfix 记录,配合 <F3> 可以在搜索结果中快速跳转;在 vimdiff 模式下跳转到下一处/上一处 diff
    • <F9>: 快速编辑 Snippet,在 Snippet 中按 <F9> 会保存当前 Snippet,刷新 snipMate 缓存并返回刚刚编辑的文件
    • <F10>: 打开 TagBar
    • <Ctrl>-l: 清除高亮并且重绘屏幕
    • <Ctrl>-_: 分屏模式下当前窗口最大化
    • t`: 跳转到下一个大写字母 (驼峰式跳转)
    • <Leader>gc: git commit
    • <Leader>gs: git status
    • g<C-O>g<C-I>: 跳转到当前文件中的上一个/下一个光标位置
    • <space>: 打开刚刚编辑的文件
  • CommandLine 模式
    • <Ctrl>-a: 跳到命令行开始
    • <Ctrl>-e: 跳到命令行结束
  • Insert 模式
    • ii: 退出到 Norm 模式并保存文件
    • <Ctrl>-j: 相当于 <Ctrl>-x<Ctrl>-u
    • <Command>-r: 仅在 MacVim 下有效,执行 :silent make
  • CtrlP
    • 参考插件列表中 CtrlP 的介绍
  • Objective C 文件编辑
    • <leader>-a: 在 .m 和 .h 文件间切换

方便 Coding 的一些小功能

  • 打开文件时自动跳转到上一次编辑的位置
  • 保存 js 文件后自动生成 tags 文件(需要在项目目录下写一个 jstags.sh 脚本,脚本中写生成 tags 的命令。Vim 仅仅调用这个脚本而已)

插件

插件列表

插件介绍请 Google

  • vitality 在 iterm2 下支持光标样式切换,以及给 tmux 提供一些高级 feature
  • CtrlP
    • 强大的文件查找工具,主要快捷键映射有
    • <Ctrl>-p 搜索 Buffer/文件/最近使用的文件 (Mixed 模式)
    • g<Ctrl>-j 搜索 Tag
  • nerdcommenter 快速给代码加注释
  • vim-surround 修改一段代码周围的引号、括号等
  • CmdlineComplete 给命令行提供补全功能
  • bufexplorer 提供 Buffer 列表
  • zencoding-vim
    • 快捷键是 <Ctrl>-k
  • nerdtree 查看目录树
    • 设置了过滤 pyc 文件
  • fencview 增强 vim 的编码检测
  • snipmate 代码补全
  • jslint js 语法校验
  • tagbar js 代码大纲视图
  • Gist 分享代码到 github 的小工具
  • vim-repeat 增强 vim 的 repeat 功能
  • web-indent JavaScript 的语法缩进
  • jsbeautify JavaScript 代码格式化,快捷键是 <Leader>ff
  • Scrath 打开一个临时的缓冲区随便记录东西,快捷键是 <Leader>S
  • genutils 给 vim 添加一些函数库
  • vim-fugitive 增加一些 git 命令支持
  • molokai 配色
  • desertEx 配色
  • vim-markdown 高亮 markdown 格式
  • vim-lesscss 高亮 lesscss 格式
  • vim-css3 高亮 css3 中的属性

安装新插件

.vim 目录下执行

git submodule add '插件的 github 检出地址' 'bundle/插件名'
git submodule init
git submodule update

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.