2015.09.08

  更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928

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这个插件,具体原理参看:使用pathogen管理 vim插件并托管到Github

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 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
P       跳到根结点
p       跳到父结点
q       关闭 NerdTree 窗口

标准模式下:
gT      前一个 tab
gt      后一个 tab

如果想关闭一个Tab,还是用Vim的自带命令:q或:wq

补充
切换工作台和目录
ctrl + w + h    光标 focus 左侧树形目录
ctrl + w + l    光标 focus 右侧文件显示窗口
ctrl + w + w    光标自动在左右侧窗口切换
ctrl + w + r    移动当前窗口的布局位置
o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t       在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       split 一个新窗口打开选中文件,并跳到该窗口
gi      split 一个新窗口打开选中文件,但不跳到该窗口
s       vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
!       执行当前文件
O       递归打开选中 结点下的所有目录
x       合拢选中结点的父目录
X       递归 合拢选中结点下的所有目录
e       Edit the current dif
双击    相当于 NERDTree-o
中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
D       删除当前书签
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      前一个 tab
gt      后一个 tab

MacVim 还可以借助快捷键来完成 tab 的关闭、切换
cmd+w   关闭当前的 tab
cmd+{   前一个 tab
cmd+}   后一个 tab
NerdTree 在 .vimrc 中的常用配置
" 在 vim 启动的时候默认开启 NERDTree(autocmd 可以缩写为 au)
autocmd VimEnter * NERDTree

" 按下 F2 调出/隐藏 NERDTree
map  :silent! NERDTreeToggle

" 将 NERDTree 的窗口设置在 vim 窗口的右侧(默认为左侧)
let NERDTreeWinPos="right"

" 当打开 NERDTree 窗口时,自动显示 Bookmarks
let NERDTreeShowBookmarks=1

在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)的更多相关文章

  1. 在ubuntu上搭建开发环境7---ubuntu安装JDK

    首先,当然是要下载了. 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 按 ...

  2. 在ubuntu上搭建开发环境3---解决Y470一键系统重装之后恢复ubuntu引导启动的方法

    2015/08/18 将知识.常用的操作整理出来一定要完整,注意细节. 就像下面是再2015.04.27时候整理的,当时确实实验成功了,但是可能忘记记下具体的细节,尤其是3.4.5.6步骤中的关于盘符 ...

  3. 在ubuntu上搭建开发环境10---英文版ubuntu安装中文输入法

    之前安装 ubuntu时候选择安装英文版,但是在查资料的时候难免的要输入中文所以自己弄了一下中文输入法的安装 我安装的是fcitx小企鹅输入法 下面介绍一下安装的过程.....   ubuntu默认的 ...

  4. 在ubuntu上搭建开发环境4---ubuntu简单的搭建LAMP环境和配置

    最近重新安装了Ubuntu,但是之前的LAMP环境自然也就没有了,实在是不想再去编译搭建LAMP环境(这种方法实在是太费时间,而且太容易遇到各种不知道为什么的错误),所以,就去查查有没有什么简单的搭建 ...

  5. 在ubuntu上搭建开发环境2---Win7、Ubuntu双系统正确删除Ubuntu

    这种删除ubuntu的方式就是针对本博客中搭建双系统的方式:http://www.cnblogs.com/xumenger/p/4459963.html 如果ubuntu不是以wubi方式安装的,那么 ...

  6. 在ubuntu上搭建开发环境5---联想Y470安装 ubuntu,解决双显卡发热等问题

    ubuntu14 没有解决显卡的问题的时候,会有这样的问题 1.耗电特别快.风扇狂转 2.鼠标键头显示有问题,乱闪,根本没法使用,容易卡住找不到鼠标箭头在哪里了:感觉图形界面显示也有问题,不稳定 解决 ...

  7. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)

    转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...

  8. 在ubuntu上搭建开发环境8---Ubuntu搭建Android开发环境

    需要首先配置好JDK环境 参看:http://www.cnblogs.com/xumenger/p/4460055.html 安装Eclipse 在Android developer的官网上直接下载a ...

  9. 在ubuntu上搭建开发环境9---Ubuntu删除ibus出现的问题及解决

    删除 ibus输入法: sudo apt-get install ibus 我们会遇到下面的问题 Ubuntu 14.04 系统设置很多选项消失. 其实遇到这个问题的一个最主要的原因是之前执行过卸载i ...

随机推荐

  1. 剑指Offer 变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法.   其实就是斐波那契数列问题. 假设f(n)是n个台阶跳的次数. f(1) = ...

  2. git-svn:通过git来管理svn代码

    简介 svn和git都是常用的版本管理软件,但是git无论在理念或是功能上都比svn更为先进.但是有的公司是以svn作为中央仓库,这时git与svn代码的同步就可以通过 git-svn这个软件进行,从 ...

  3. Python自动化之select、greenlet和gevent和事件驱动模型初探

    进程.线程和协程的区别 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度. 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的). 协程和线程一样 ...

  4. Python 正则表达式:只要整数和小数

    要求用户只能输入数字(包括整数和小数),如何用正则表达式验证用户输入? 有两种思路: 1. 给出正确格式的正则表达式,然后看输入是否合法. 2. 列出所有错误的输入,看输入是否非法. 对于思路1,想想 ...

  5. linux命令——mutt的安装和使用【转】

    linux命令--mutt的安装和使用[转] 首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收 ...

  6. php调用c/c++的一种方式

    php调用c/c++有很多方式,最常用的是通过tcp或者http去调用,通过发送请求去调用c/c++编写的cgi/fastcgi来实现,另外php还有一种直接执行外部应用程序的方式,这种方式会影响到系 ...

  7. 和我一起学python,控制语句 (life is short ,we need python)

    控制语句 if/elif/else if语句和一般编程语言一样,条件为true 执行 如: if true : print 'true'         <----if.else下对齐,要使用相 ...

  8. 2106 Problem F Shuffling Along 中石油-未提交-->已提交

    题目描述 Most of you have played card games (and if you haven’t, why not???) in which the deck of cards ...

  9. problem-record-mysql

    #!/bin/bash # # Update_Problem - updates problem record in database ################################ ...

  10. 【leetcode】Next Permutation(middle)

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...