前面写过一篇《VIM的简明教程》,其实大部分都是抄袭过来,今天又参考了一篇文章,在这里,对VIM有个不一样的理解。总结一些心得如下:
VIM的感觉(feeling):对VIM的理解
1、VIM是一个语言式的文本编辑器,有动词,名词,使用动词+名词,形成一个祈使句,用来执行命令,可以使用任意动词+名词组合,形成各种命令。例如:
动词:chang命令(c),delete命令(d)等等
名词:word命令(w)等等
我们来组成一句话,dw,删除一个词。
还有有趣的形容词:inside (i), around (a),例如可以如下造句:
“change inside parenthesis” (ci( or cib),这个命令的含义是:改变括号里面的内容。
2、VIM命令的物理含义,作者举了一个这样的例子:不管你扔一个球,还是扔一个三明治,虽然砸到人得到的效果不一样,但是这个扔的动作时一模一样的。vim中同样适用,例如:
daw 和 da{ 命令,前者是围绕一个词(word)删除,后者是围绕大括号({})删除。但是动作时一样的都是da<something>,即"delete aroud something"。
3、编程式的编辑,适用VIM编辑,就想编程一样。例如:
daw,可以看成是函数delete(type='word', around=True);
另外,还可以在.vimrc文件中进行一些配置,例如在vimrc文件中,有这样一行nnoremap <leader>1 yypVr= , 那么可以把 <leader>1 看成是一个函数,完成如下功能:复制当前行(yy),粘贴到这一行下面(p),全选当前行(V),替换当前行全部为等号(r=);
另外,VIM还有可以进行宏定义(macro)。
使VIM变得更好用
VIM的配置文件.vimrc,通过添加一些配置选项,使VIM使用起来得心应手。下面举例一些有用的配置选项:
filetype plugin indent on "打开文件类型,插件,缩进功能
set nocompatible " 禁用vi兼容
set modelines=0 " 取消vim的模式行
set encoding=utf-8
set scrolloff=3
set autoindent
set showmode
set showcmd
set hidden
set wildmenu
set wildmode=list:longest
set visualbell
set cursorline
set ttyfast
set ruler
" 以下两行是vim7.3的新特性
set relativenumber " 设置相对行号,真是非常有用的,因为很多命令要使用到行数,eg, 10dd删除10行
set undofile " 生成一个undo 文件,FILENAME.un~,关闭文件后再打开,还可以使用undo命令
set ignorecase " 搜索忽略大小写
set smartcase " 搜索,如果有大写,就大写匹配
set gdefault " 默认g模式(整行全局模式),例如:%s/foo/bar/g 就可以写成 :%s/foo/bar/
set incsearch
set showmatch
set hlsearch
au FocusLost * :wa " 失去焦点,就自动保存
VIM插件
插件使VIM变得像神一样。
Pathogen插件,地址http://www.vim.org/scripts/script.php?script_id=2332
这是一个插件管理插件(怎么说的这么别扭,哈哈),具体的使用方法见这里。
Yankring插件,地址在这里,http://www.vim.org/scripts/script.php?script_id=1234
Surround插件,地址在这里,http://www.vim.org/scripts/script.php?script_id=1697
VIM插件数不胜数,合理使用插件,使VIM达到很多意想不到的效果。
参考地址:
http://wujblog.appspot.com/2010/06/27/vimjiancheng.html
http://stevelosh.com/blog/2010/09/coming-home-to-vim/
http://www.linuxeden.com/html/news/20100811/104261.html
没有评论:
发表评论