再说vundle: 完全vim字符编程的四个必须插件 - zen coding 和emmet插件的使用
一个常识:
基本上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插件的使用的更多相关文章
- vundle就是vim bundle的插件管理成ide
如何配置一个高效的php编辑环境, 很好 对vundle的操作, 除了仓库名称是vundle.git (*.git就是仓库) 和 本地目录名是 vundle之外, 其他的操作都是bundle git ...
- 使用Vundle管理Vim插件
附:仓库地址 附:我自用的vim配置文件,里面注释很多,仅供参考. Vundle是一款Vim的插件管理软件(Linux),用起来很方便的原因有几点: 支持插件超多,可以来源于github.Vundle ...
- C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
C#中的函数式编程:递归与纯函数(二) 在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...
- AOP面向切面编程的四种实现
一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP.代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及Bea ...
- 5天玩转C#并行和多线程编程 —— 第四天 Task进阶
5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...
- WCF编程系列(四)配置文件
WCF编程系列(四)配置文件 .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...
- Java 网络编程(四) InetAddress类
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951895.html Java 网络编程(四) InetAddress类 InetAdd ...
- 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...
- [Java并发编程(四)] Java volatile 的理论实践
[Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...
随机推荐
- 【poj2774】 Long Long Message
http://poj.org/problem?id=2774 (题目链接) 题意 给出两个只包含小写字母的字符串,求出最长连续公共子串. solution 第一次用后缀数组,感觉有点神...才发现原来 ...
- BZOJ1070 [SCOI2007]修车
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- css设置background图片的位置实现居中
/* 例 1: 默认值 */ background-position: 0 0; /* 元素的左上角 */ /* 例 2: 把图片向右移动 */ background-position: 75px 0 ...
- duxcms SQL Injection In /admin/module/loginMod.class.php
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 duxcms是一款采用PHP开发,基于HMVC规则开发适合中小企业.公司.新闻.个 ...
- oracle创建存储过程
创建: create or replace procedure insert_tbuser ( username nvarchar2,usersex nvarchar2,userage numbe ...
- [JavaEE]如何唤醒Sleep中的线程
主线程调用子线程的interrupt()方法,导致子线程抛出InterruptedException, 在子线程中catch这个Exception,不做任何事即可从Sleep状态唤醒线程,继续执行. ...
- Loadrunner在post请求的cookie中插入其它多个值
有一个商城,提交订单的时候,需要在post请求的cookie中set一个code码,便于防刷 tijiao() { lr_think_time(); web_reg_save_param(" ...
- 第5.5次Scrum会议
会议信息 时间:2016.10.25 21:30 时长:0.5h 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 会议内容 鉴于团队推进受阻,原PM 邓 与 原后端 冯 协商后决定之后一段时间 ...
- runtime - Method详细笔记
Runtime中Method详细介绍 1.找到它,认识它 //*> 在objc/runtime.h中定义了Method类型,Method是一个objc_method结构体指针,结构体中包含SEL ...
- sudo和rpm命令
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 和管理时间,同样也提高了安全 ...