2015.09.08
更为详细的配置vim的方法,请参见我的新整理的文章:
Vim安装
命令: sudo apt-get install vim
配置vim:
配置vim,/etc/vim/vimrc文件就好,(我上网找到了一个比较强大的vim配置文件,拷贝到/etc/vim/vimrc里面,效果不错)
在/etc/vim/vimrc里面配置vim将作用于所有用户
可能出现的问题:普通用户用vim命令时,/etc/vim/vimrc里面的配置文件不会起作用,但是可以在root用户使用时有效。
原因如下:在/etc/vim/vimrc里面配置vim将作用于所有用户。但是假如在~/.vimrc为普通用户做了配置,那么就会覆盖/etc/vim/vimrc里面为普通用户的配置,结果就是/etc/vim/vimrc对没有专门为自己配置的用户有效,不对像在~/.vimrc里面再配置的用户有效;而~/.vimrc就会对普通用户有效。
最终选择:删除/etc/vim/vimrc这个配置文件,只配置~/.vimrc这个针对普通用户的文件,以后用vim编辑文本时,就用普通用户的身份编辑就好。(可以将上面下载的那个配置文件,放到~ 目录下,并更名为 .vimrc)
其实关于插件的配置和普通的配置都是在~/.vimrc里面进行的,区别就是插件的配置需要首先安装完插件再在~/.vimrc里面写配置信息,而普通的配置可以直接在~/.vimrc里面写配置信息。
vim的插件安装:
准备工作
首先,备份你原先的 .vim 配置,并创建一个新的 .vim 目录(.vim在~目录下),以及放置插件的 bundle 目录:(以下的命令操作是普通用户在~目录下执行的)
1 2 3
| $ mv .vim{,.bak} $ mv .vimrc{,.bak} $ mkdir -pv .vim/bundle |
然后把 .vim 目录变成一个 Git 仓库。做这一步非常简单,切换到 .vim 目录下,执行git init命令,git 会创建一个 .git 目录:
1 2 3 4 5 6 7 8 | $ cd .vim && git init > Initialized empty Git repository in /Users/pw/.vim/.git/ $ ls -al > total 0 > drwxr-xr-x 4 pw staff 136 Feb 4 14:01 . > drwxr-xr-x 4 pw staff 136 Feb 4 14:01 .. > drwxr-xr-x 10 pw staff 340 Feb 4 14:01 .git > drwxr-xr-x 2 pw staff 68 Feb 4 14:01 bundle |
至此,准备工作就完成。以下的命令如果没有特别说明,都是在 .vim 这个目录中敲入的。
1.安装 Pathogen
安装插件的命令是:
1 | $ git submodule add 插件的Git仓库地址 bundle/插件名字 |
Pathogen 将会是我们通过 Git 安装的第一个插件:
1 2 3 4 5 6 7 | $ git submodule add git://github.com/tpope/vim-pathogen.git bundle/vim-pathogen > Cloning into bundle/pathogen... > remote: Counting objects: 218, done. > remote: Compressing objects: 100% (117/117), done. > remote: Total 218 (delta 59), reused 202 (delta 45) > Receiving objects: 100% (218/218), 26.40 KiB | 23 KiB/s, done. > Resolving deltas: 100% (59/59), done. |
通常来讲,一个插件下载完之后就已经可以使用了,但是对于 Pathogen 这个”插件中的插件“来说,还要多一步,还要在配置文件中加入相关的信息,加载 pathogen
我在配置文件的第一行添加上这样的配置
runtime bundle/vim-pathogen/autoload/pathogen.vim call pathogen#infect() Helptags |
而且使用如此的方式安装 NERDTree插件,必须首先安装 Pathogen这个插件,具体原理参看:
2.安装NERDTree ,方法跟安装 Pathogen 是一样的,在 .vim 目录下执行:
1 | $ git submodule add 插件的Git仓库地址 bundle/插件名字 |
NERDTree ,仓库地址是git://github.com/scrooloose/nerdtree.git:
1 | $ git submodule add git://github.com/scrooloose/nerdtree.git bundle/nerdtree |
也可以直接下载压缩包,解压后,移到~/.vim/bundle里面,也可以直接用(不过像上面的这种方法更为简单、方便)
也需要在配置文件中进行相关的配置,方便NERDTree的使用
NERDTree 开启需输入 :NERDTree,关闭时按 q 即可。也可以加入快捷键开启
1. vim ~/.vimrc 2. 加入此行 nnoremap <silent> <F4> :NERDTree<CR> 注意<F4>和 : 之间一定要有空格 3. 这样按F4就会自动展开目录树,可能你的F4 已经被用了,有冲突,那你可以一个一个试从F1 到F12常用的快捷键 ctrl + w + w 光标自动在左右侧窗口切换o 展开左侧某个目录,再按一下就是合并目录 t 在新 Tab 中打开选中文件/书签,并跳到新 TabT 在新 Tab 中打开选中文件/书签,但不跳到新 TabP 跳到根结点p 跳到父结点q 关闭 NerdTree 窗口标准模式下:gT 前一个 tabgt 后一个 tab如果想关闭一个Tab,还是用Vim的自带命令:q或:wq补充切换工作台和目录ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置o 在已有窗口中打开文件、目录或书签,并跳到该窗口go 在已有窗口 中打开文件、目录或书签,但不跳到该窗口t 在新 Tab 中打开选中文件/书签,并跳到新 TabT 在新 Tab 中打开选中文件/书签,但不跳到新 Tabi split 一个新窗口打开选中文件,并跳到该窗口gi split 一个新窗口打开选中文件,但不跳到该窗口s vsplit 一个新窗口打开选中文件,并跳到该窗口gs vsplit 一个新 窗口打开选中文件,但不跳到该窗口! 执行当前文件O 递归打开选中 结点下的所有目录x 合拢选中结点的父目录X 递归 合拢选中结点下的所有目录e Edit the current dif双击 相当于 NERDTree-o中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-eD 删除当前书签P 跳到根结点p 跳到父结点K 跳到当前目录下同级的第一个结点J 跳到当前目录下同级的最后一个结点k 跳到当前目录下同级的前一个结点j 跳到当前目录下同级的后一个结点C 将选中目录或选中文件的父目录设为根结点u 将当前根结点的父目录设为根目录,并变成合拢原根结点U 将当前根结点的父目录设为根目录,但保持展开原根结点r 递归刷新选中目录R 递归刷新根结点m 显示文件系统菜单cd 将 CWD 设为选中目录I 切换是否显示隐藏文件f 切换是否使用文件过滤器F 切换是否显示文件B 切换是否显示书签q 关闭 NerdTree 窗口? 切换是否显示 Quick Help 切换标签页:tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab:tabc 关闭当前的 tab:tabo 关闭所有其他的 tab:tabs 查看所有打开的 tab:tabp 前一个 tab:tabn 后一个 tab 标准模式下:gT 前一个 tabgt 后一个 tabMacVim 还可以借助快捷键来完成 tab 的关闭、切换cmd+w 关闭当前的 tabcmd+{ 前一个 tabcmd+} 后一个 tabNerdTree 在 .vimrc 中的常用配置" 在 vim 启动的时候默认开启 NERDTree(autocmd 可以缩写为 au)autocmd VimEnter * NERDTree" 按下 F2 调出/隐藏 NERDTreemap :silent! NERDTreeToggle" 将 NERDTree 的窗口设置在 vim 窗口的右侧(默认为左侧)let NERDTreeWinPos="right"" 当打开 NERDTree 窗口时,自动显示 Bookmarkslet NERDTreeShowBookmarks=1