oldashes 2015-10-15T05:49:28+00:00 ccf.developer@gmail.com Mac OS X自带Vim的配置 2014-11-28T00:00:00+00:00 oldashes http://oldashes.github.io/2014/11/28/Vim-Plugin-Mac Mac OS X自带Vim的配置

据说有三个问题可以在程序员的世界引起战争:

  • 最棒的编程语言是什么?
  • 最好的操作系统是什么?
  • 最便捷的编辑器是什么?

在我不长的编程生涯中,这三个问题一直就影响着我,我不断的进行着选择与被选择。然后,我学习了Python,并认定这就是第一题的答案。再然后我接触了Mac,第二题的答案也显而易见了。所以呢,第三题的答案,在我用了一小段时间 Vim 之后,似乎也差不多出来了。

一.Vim的介绍

Vim 是一款Linux下最常用也是最通用的古老编辑器,给人的印象就是黑底白字或者花花绿绿的符号在荧光屏上闪烁。它让程序员获得敲击键盘的快感,也让普通人产生神秘感。但是随着这些年的发展,各大语言都有了对应的且整合维护都完好的IDE,单纯使用 Vim 作为开发工具的程序员越来越少。但是只要是谈及编辑器的选择, Vim 始终是绕不开的话题。

Vim 已经被集成在了Mac OS X中,已经无需安装。当然,更多习惯使用Vim作为开发工具的Mac用户可能选择了 MacVim 这款开源且一直保持更新的特别版本,但我这里所记录的所有Vim配置及相关插件仅针对系统预置的 Vim (version7.3)。

二.Vim的配置

首先,直接打开终端输入命令vim就能直接看到系统Vim信息,其中 .vimrc.vim 就是 Vim 的配置文件和插件目录,它们都在当前用户的根目录下。

version

使用Vim打开.vimrc进行配置,若没有则新建一个,下面是我的

syn on            "语法支持

"common conf {{        通用配置
set ai             "自动缩进
set bs=2            "在insert模式下用退格键删除
set showmatch         "代码匹配
set laststatus=2        "总是显示状态行
set expandtab         "以下三个配置配合使用,设置tab和缩进空格数
set shiftwidth=4
set tabstop=4
set cursorline          "为光标所在行加下划线
set number           "显示行号
set autoread          "文件在Vim之外修改过,自动重新读入

set ignorecase           "检索时忽略大小写
set fileencodings=uft-8,gbk     "使用utf-8或gbk打开文件
set hls              "检索时高亮显示匹配项
set helplang=cn          "帮助系统设置为中文
set foldmethod=syntax      "代码折叠
"}}

"conf for tabs, 为标签页进行的配置,通过ctrl h/l切换标签等
let mapleader = ','
nnoremap gt
nnoremap gT
nnoremap t : tabe

"conf for plugins {{ 插件相关的配置
"状态栏的配置
"powerline{
set guifont=PowerlineSymbols\ for\ Powerline
set nocompatible
set t_Co=256
let g:Powerline_symbols = 'fancy'
"}
"NERDTree配置
"NERDTree{
let NERDTreeShowHidden = 1
let NERDTreeMouseMode = 2
"}
"pathogen是Vim用来管理插件的插件
"pathogen{
call pathogen#infect()
"}

"}}

保存退出,可能会有错误提示,没关系因为插件还没安装。其中"是注释的意思,将配置分类使用{分隔开来方便查看。这个配置中还包含了三个插件( powerlineNERDTreepathogen )的配置,后面会介绍到。

配置完成.vimrc 再来看看 .vim 目录:

.vim
  |___doc          //存放文档
  |___plugin       //存放插件
  |___autoload     //存放随Vim启动自动加载的插件

可能你的 .vim 下面没有任何东西,没关系,先不着急新建。当使用的插件很少且插件本身都设计简单时,按照这样的存放是没有问题的。可是多数时候我们都会安装很多各种不同插件,导致整个目录都很混乱,所以就有了 pathogen 插件。这款插件是用来管理 Vim 中的插件的,它可以使目录结构很简单且使用起来也十分方便。

三.Vim插件的安装

丰富的插件使得 Vim 早已自成一派,有了自己的完整生态, Vim 的插件有自己的开发语言 vimscript ,同时也为其他语言提供支持。 Vim 的插件都是 .vim 后缀的脚本文件,可以在 github 上方面找到很多。具体的插件分类就不赘述了,可以参考文末的给出的链接或网上搜索。下面首先介绍用来管理插件的插件,然后再介绍几种常用插件。

pathogen

1.介绍

前面提到 .vim 的目录结构,但事实上使用 pathogen 管理插件则要调整目录了。

nerdtree

图中可以看到,在目录中没有plugin文件夹,取而代之的是bundle文件夹。关于bundle的概念可以网上查阅相关资料,这里理解为一种封装方式,方便 pathogen 管理。插件安装后,要获得插件的doc,通常要在Vim中运行:Helptags来生成在线帮助tags。

2.安装

下载地址 https://github.com/tpope/vim-pathogen

  • .vim 下新建 .autoload.bundle 文件夹 mkdir ~/.vim/.autoload ~/.vim/.bundle
  • 下载 pathogen.autoload 目录下。 git clone git://github.com/tpope/vim-pathogen.git
  • .vimrc 中添加配置信息
    call pathogen#infect()

NERDTree

1.介绍

NERDTree是一款用来获得树状展示文件列表的插件,上面图中的展示效果就是NERDTree提供的。

2.安装

下载地址 https://github.com/scrooloose/nerdtree

  • 进入 .vim 下的 .bundle 目录
  • 下载 NERDTree.bundle 下面
    git clone git://github.com/scrooloose/nerdtree.git
  • 下载安装完成后可以在 .bundle 目录下多出 .NERDTree 文件夹
  • 重启 Vim 后运行 :Helptags来生成 NERDTree 的在线帮助tags

3.说明

.NERDTree 提供了很多操作热键,以及相关的配置,可以通过它提供的文档查看,也可以网上搜索。

Vim 中输入:NERDTree,即可呼出执行Vim命令的当前目录的文件目录,也可以在 .vimrc 中定义快捷键直接调出 NERDTree

常用的快捷键:

  • h j k l移动光标定位
  • o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中
  • go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能
  • i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能
  • t 在标签页中打开 -T 在后台标签页中打开
  • p 到上层目录
  • P 到根目录
  • K 到同目录第一个节点
  • J 到同目录最后一个节点
  • m 显示文件系统菜单(添加、删除、移动操作)
  • ? 帮助
  • q 关闭
  • Ctrl + w + h 光标定位在左侧目录, Ctrl + w + l 光标定位在右侧文件,多次按Ctrl + w 会在两边切换

想了解更多操作方式,可以通过 ? 查看详细的帮助信息。

Command-T

1.介绍

Command-T 是一个基于 RubyC 扩展实现的快速文件浏览的插件,类似TextMate的Go to File(Command+T呼出)功能,或Eclipse的Open Resource(Command+Shift+r)功能,可以通过模糊匹配快速定位并打开文件。 commandt

2.安装

下载地址 https://wincent.com/products/command-t

  • 从下载地址下载最新版本的vba文件,目前最新版本是1.4,所以安装文件是command-t-1.4.vba
  • ~/.vim/bundle 目录下创建文件夹 command-t
  • Vim 打开command-t-1.4.vba
  • 执行:UseVimball ~/.vim/bundle/command-t
  • 进入ruby目录下编译C扩展 cd ~/.vim/bundle/command-t/ruby/command-t
    ruby extconf.rb
    make

3.说明

输入:CommandT进入文件快速定位功能

  • ctrl+j/k 上下选择文件,选中后回车打开文件
  • ctrl+t 以tab方式打开文件
  • ctrl+s/v 可以水平或垂直分割窗口打开文件
  • ctrl+c 退出该模式

该插件还有个常用命令:CommandTBuffer,可以浏览缓冲区的文件,并重新打开。操作方式同上。关于缓冲区,后面会有说明。

Powerline

1.介绍

PowerlineVim 的一个非常漂亮的状态栏插件,安装了 Powerline 之后, Vim 底部将会出现一个增强型状态栏,当 Vim 处于NORMAL、INSERT、BLOCK等状态时,状态栏会呈现不同的颜色,同时状态栏还会显示当前编辑文件的格式(uft-8等)、文件类型(java、xml等)和光标位置等,喜欢的就装。 powerline

2.安装

下载地址 https://github.com/Lokaltog/vim-powerline

  • 进入.vim/bundle目录
  • 执行git clone git://github.com/Lokaltog/vim-powerline.git
  • 在.vimrc中设置状态栏主题

      "powerline{ 
      set guifont=PowerlineSymbols\ for\ Powerline
      set nocompatible    
      set t_Co=256    
      let g:Powerline_symbols = 'fancy'   
      "}
    

    3.说明

    重启 .Vim 就可以看到底部的状态栏了。


本文内容参考资料:

谁说Vim不是IDE?(一)

Vim之NerdTree的帮助

关于Window与Tab的使用,Buffer缓冲区的说明以及更多插件快捷键等信息都来自以上Blog的指导,多谢。

]]>
Mac OS X下使用Github+Jekyll搭建博客 2014-06-08T00:00:00+00:00 oldashes http://oldashes.github.io/2014/06/08/Github-jekyll-Blog Mac OS X下使用Github+Jekyll搭建博客

毕业的事差不多落定了,这几天也闲来没事,于是又开始琢磨之前一直想弄的博客。在网上搜索一番之后,决定就用Github提供的Pages服务来搭一个简单的blog吧。

一. Github Pages

Github Pages是Github提供给Github用户用以介绍项目信息或者个人(或组织)信息的静态网页托管服务,免费且不限制流量。所以若要使用Github Pages服务首先需要注册一个Github Papes账号,然后就可以按照官方页面指示进行操作了。

官方首页 https://pages.github.com
githubpages 需要注意的是:
- 新建的仓库名必须是yourname.github.io格式'yourname'是你的账户名称
- 在新建的仓库添加一个HTML文件,文件名必须是index.html
- 发布之后github会进行转换,等待十分钟左右打开yourname.github.io看到你刚写得index.html显示出来则成功

二. Jekyll

完成第一步之后说明你的个人页面已经开通,那么接下来怎么在此页面中搭建一个属于你自己的个人Blog呢?前面已经提到上传此仓库的代码会进行转换使之能够识别你的文件并展现在浏览器中,而其使用的就是Jekyll框架。Jekyll是Github官方开发的一个轻量级的Blog框架,只需要简单的设置就可以轻松获得一个效果不错的Blog系统。
Jekyll官方首页 http://jekyll.com
Jekyll中文首页 http://jekyllcn.com

首先来了解一下Jekyll的目录结构,方便理解整个Blog的运转过程。

.
├── _config.yml
├── _drafts
|   ├── begin-with-the-crazy-ideas.textile
|   └── on-simplicity-in-technology.markdown
├── _includes
|   ├── footer.html
|   └── header.html
├── _layouts
|   ├── default.html
|   └── post.html
├── _posts
|   ├── 2007-10-29-why-every-programmer-should-play-nethack.textile
|   └── 2009-04-26-barcamp-boston-4-roundup.textile
├── _site
└── index.html  

具体作用可以查看:官方文档

在了解了Jekyll框架的目录结构之后,接下来就要着手开始搭建Blog了。通常我们都会在本地搭建好完整的项目并调试运行之后再上传至Github发布,那么首先就是需要本地安装Jekyll框架。
由于Jekyll是基于Ruby开发的框架,因此,在安装Jekyll之前确保电脑中已经装好了,可以在terminal键入命令,按以下操作进行。

检查ruby版本
ruby --version

我的Mac中已经自带装有最新的ruby2.0版

更新gem
sudo gem update --system

并不是所有人的gem都需要更新,我在更新的时候就提示为最新版

安装Jekyll
sudo gem install jekyll

这一步会自动安装Jekyll以及所需的一切依赖,但是我装这一步的时候卡了很久,报错一直是

ERROR: Could not find a valid gem 'jekyll' (>= 0), here is why: Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)

可能是网络的原因,连续试过几次之后安装成功。然后我们新建一个文件夹作为我们Blog项目的工作目录,我建的目录放置在
/Users/Pacino/jekyllProject/myBlog

打开建好的目录,使用如下命令新建一个Blog模板
jekyll new blog
进入blog目录,键入如下命令打开jekyll服务器
jekyll serve

终端显示图中信息,则创建成功
ServerRunning

然后打开浏览器键入
http://0.0.0.0:4000/

看到一个全新的小Blog模板了吗?是的,你成功了!
接下来可以把Blog文件夹上传至https://github.com/yourname/yourname.github.io中。我使用github的Mac客户端,直接拷贝至仓库上传即可。

]]>