一个常识:

基本上vim插件的配置文集都是放在对应插件目录 的/autoload/ plugin_name.vim 文件中的

有四个必要/必须的插件,实现vim完全的字符界面的编程:

NERDTree, snipMate(自动补全, 超级tab)

最重要的是两个: ctags(支持php的), Taglist.

==============================================

.vim/bundle是一个容器, 所有的 有关vim的插件都放在 bundle目录中,

而 vundle只不过是 bundle 目录下众多 插件中的一个 而已.

每个插件都有一个单独的目录, 不可能都放在bundle目录下 "散起" 吧.

每个插件目录的内容都差不多: 包括.git(仓库核心), autoload, syntax等.

可以固定一下("套路") vim的统一插件管理目录: ~/.vim/ vimrc + /bundle/vundle, other-plugins-directories.

git 安装vundle:

=======================================================

ctags是darren hibert写的, ex'uberant ctags, version=5.8

它是一个命令行工具(好像linux下的工具都是lines方式, 只为实现丰富厉害的功能, 根本就不愿去gui)

ctags [options] [files]

options:

-R : this let you not need specify files to be ctags any more.

--format: 1 :simple format, 2: extended format.

--sort=[1]/0: let you decide whether tags created by ctags are sorted or not.

关于vim内ctags标签的跳转? 在标签上(如函数名)上按 Ctrl+], 会跳转到关键字 定义的地方... 然而往回跳转, 则是Ctrl+o 则是vim自己就带有的功能!! 而且这个ctrl+o不但可以往回跳转一次,还可以往回跳转很多次, 因为在~/.viminfo中就记录了 jumplist 跳转列表:

而且.viminfo中, 还记录了10个 (从'0, 到'9) file marks 文件标记:是指 文件最后关闭时光标所在的位置. 你可以使用'0到'9来追溯原来的位置, 如果不可以, 则用 '. 或`. 据说 '0保存的是全局的最后编辑的那个文件 离开时的光标位置...

http://blog.csdn.net/darennet/article/details/44340491

vimrc的配置文件可以放在多个位置, 如: /etc/vimrc, ~/.vim/vimrc等等, 它们是相互想成, 互为补充, 共同生效的关系.

可以在全局/etc/vimrc中设置: set nu; set ts=4; set incsearch...

还可以使用vimgrep来搜索:

安装nerdtree提示authentication错误?

authentiction再authorization之前,提示 username&passwd错误?

其实, vundle安装插件, 也是通过git来clone下载的: git clone --recursive 'https://github.com/vim-scripts/taglist' '~/.vim/bundle/' 等等.

在书写插件的时候, 使用两种方式, 一种是github上的插件, 另一种是 不在github上的插件.

  • 在github上的插件, 如过是vim-scripts账户下的 插件 , 直接写;
  • 在github上的插件, 如果不是 vim-scripts账户下的插件, 写成 "账户名/插件名"
  • 不在github上的插件, 写全部地址和插件名称 https://..../../xxx.git...

例如:

set nocompatible

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

Bundle 'gmarik/vundle'

Plugin 'scrooloose/nerdtree'

Bundle 'bling/vim-airline'

Plugin 'taglist.vim'

Plugin 'snipMate'

Plugin 'minibufexplorerpp' 注意这里是explorer,不是explore

Plugin 'Shougo/neocomplcache' 主要这里是Shougo, 不是小写的shougo, 也不是Shougou,没有u

" 这里设置emmet zen coding 插件

Plugin 'mattn/emmet'

call vundle#end()

filetype plugin indent on

" 设置emmet操作的触发键

let g:user_emmet_leader_key=""

使用vundle更新插件非常简单,只用打开一个vim,然后在NORMAL模式下输入命令:BundleInstall!

?为什么不能使用map影射了?

像大师门一样的思考, 学会大师门 的思维习惯, 使用字母及其对应的大写字母来表示 相反的功能, 或"层次/级别"不同的功能.

vim中, 多个 "子窗口"的大小的改变?

默认的就是水平分割: sp:split, 如果要垂直方向上分割: vs

对水平窗口的 "上下方向上的调整" 是用ctrl +w +加减号来实现,

垂直方向上的窗口的 "zuoyou 调整" 是用 ctrl-w + 大于和小于符合 来实现.

要恢复所以子窗口的原始大小, 使用ctrl-w + denghao等号.

vim向前和向后的跳转?

记得向后跳转是ctrl+o, 那么, 向前跳转就是ctrl_i, 因为i正好是在按键0的前面.

安装php后,apache不能索引index.php文件?

可能是原来在安装httpd的时候, 没有将index.php加入到目录索引中去:

在/etc/httpd/conf/httpd.conf中, 找到:

    <IfModule dir_module>
DirectoryIndex index.html (//这里增加上: index.php就好了). </IfModule>

如果上述设置后仍无法按顺序运行首页,那么还得修改一下php相关配置文件php.conf

/etc/httpd/conf.d/php.conf文件中的

DirectoryIndex index.php

=====================================================================

在terminal终端, 要实现 特殊通配符的 转义, 要加 双引号????

再说vundle: 完全vim字符编程的四个必须插件 - zen coding 和emmet插件的使用的更多相关文章

  1. vundle就是vim bundle的插件管理成ide

    如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...

  2. 使用Vundle管理Vim插件

    附:仓库地址 附:我自用的vim配置文件,里面注释很多,仅供参考. Vundle是一款Vim的插件管理软件(Linux),用起来很方便的原因有几点: 支持插件超多,可以来源于github.Vundle ...

  3. C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    C#中的函数式编程:递归与纯函数(二)   在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...

  4. AOP面向切面编程的四种实现

     一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP.代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及Bea ...

  5. 5天玩转C#并行和多线程编程 —— 第四天 Task进阶

    5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...

  6. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...

  7. Java 网络编程(四) InetAddress类

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951895.html Java 网络编程(四) InetAddress类 InetAdd ...

  8. 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...

  9. [Java并发编程(四)] Java volatile 的理论实践

    [Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...

随机推荐

  1. 【BZOJ-1858】序列操作 线段树

    1858: [Scoi2010]序列操作 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1961  Solved: 991[Submit][Status ...

  2. oracle merge into 的例子

    内容来自 oracle 11g 实用教程 郑阿奇等编 在 oracle 11g中有merge语句,用于根据与原表连接的结果,对目标表执行插入,更新,或者删除操作.例如,根据在一个表中找到的差异在另一个 ...

  3. Akka: actor应用的一些小结

    1.消息: 1) case class是scala中一个不可变对象(当然你可以让他成为可变的),通过不可变对象来进行消息传递可以更加明确内容,也能保证线程安全 2) 在Java中如果你将class对象 ...

  4. Java学习路线图

    参考<疯狂Java实战演义>制作,觉得可以做一参考(放大网页看)

  5. TextView里限制输入字数的方法

    一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断: //键入Done时,插入换行符,然后执行addBookmark - ...

  6. 使用substring方法进行字符串拆分

    对一个字符串进行操作,我们通常会用到这2个类:String类.StringBuffer类 而这2个类中的方法大多都是相同的,今天主要介绍他俩共同的一个特别有用的方法:substring substri ...

  7. 深入浅出Redis02 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  8. python的正则表达式 re-------可以在字符串前加上 r 这个前缀来避免部分疑惑,因为 r 开头的python字符串是 raw 字符串,所以里面的所有字符都不会被转义

    正则表达式使用反斜杆(\)来转义特殊字符,使其可以匹配字符本身,而不是指定其他特殊的含义.这可能会和python字面意义上的字符串转义相冲突,这也许有些令人费解.比如,要匹配一个反斜杆本身,你也许要用 ...

  9. 【原】js检测移动端横竖屏

    摘要:上周做了一个小项目,但是要放到我们的app上,然而需要横竖屏使用不同的样式.横屏一套,竖屏一套.调用了手机APP那里的api,可是他们那里ios和安卓返回的不一样. 各种头疼.于是用了css3的 ...

  10. 如何排查APP服务端和客户端是否支持ATS

    服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssl ...