feng.qi

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

全局vimrc文件放在你安装Vim的目录中,如

Linux: /usr/share/vim/vimrc
Windows: c:\program files\vim\vimrc

用户版本的vimrc文件放在你的主目录下,如

Linux: /home/kim/.vimrc
Windows: c:\documents and settings\kim\_vimrc

 

:w          保存当前编辑的文件名
:w filename          当filename不存在,把修改后的文件另存为filename, 文件存在时报错。
:x          保存退出
:wq          保存退出
:e filename           使用filename激活vi(在vi中装入另一个文件filename)
:e!           重新装入当前文件,若当前文件有改动,则丢弃以前的改动
:e+filename            使用filename激活vi ,并从文件尾部开始编辑
:e+number filename   使用filename激活vi ,并在第number行开始编辑
:e#               开始编辑另外一个文件

winpos 774 435                     " 设置窗口的起始位置
set lines=25 columns=80        " 设置窗口起始时的行列数

%          跳转到配对的括号去
[[          跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
gD         跳转到局部变量的定义处
''           跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx        设置书签,x只能是a-z的26个字母
`x         跳转到书签处("`"是1左边的键)
>          增加缩进,"x>"表示增加以下x行的缩进
<          减少缩进,"x<"表示减少以下x行的缩进

set sw=4               " shiftwidth 设置缩进为4个空格
set tabstop=4        " 设置Tab为4个空格
set et                    "设置编辑时Tab替换为空格,使用:retab格式化
syntax enable        "语法高亮可用
syntax on               "打开语法高亮
colorscheme evening        "设置颜色方案evening
set nobackup                   "设置不备份文件
set guioptions-=m                        "去掉菜单栏
set guioptions-=T                         "去掉工具栏
set guioptions-=L                         "去掉左滑动条
set guioptions-=r                         "去掉右滑动条
set number                                                 "设置显示行号
set background=dark                                   "设置背景颜色 dark
set hlsearch/nohl                                         "设置/关闭搜索高亮
set ma(modifiable) / noma(nomodifiable)        "设置/关闭只读
set noeb noerrorbells                                   "设置关闭出错发声 (这样关闭不了,个人经验还是设置为visualbell)
set vb(visualbell)                                          "设置出错闪屏,代替发声
:vsplit/:vsp                                                  "在窗口左边打开新的窗口
:qall                                                           "关闭所有窗口
C-w K(或H,J,L, 即上下左右的大写)                     "移动窗口
:vnew/:vertical new                       "打开一个垂直分割的窗口
(C-w o) :only                               "关闭其他窗口,只保留一个
:bp :bn                                       "buffer previous(next) 切换到上(下)一个buffer
C-w q                                         "退出光标所在buffer
# C-^                                         "数字 + C-^, 跳至数字所指定buffer编号
:ls :buffers :files                           "buffer list
:bdelete #/name                           "delete buffer + buffer number or name
set guicursor=a:blinkon0               " 消除VIM光标闪烁

 

如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)
我们可以使用下面的命令来创建和删除折叠:
zf 创建折叠,比如在marker方式下:
zf56G, 创建从当前行起到56行的代码折叠;
10zf或10zf+或zf10↓, 创建从当前行起到后10行的代码折叠。
10zf-或zf10↑, 创建从当前行起到之前10行的代码折叠。
在括号处zf%, 创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。
zd                                   删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为"manual" 或 "marker" 时有效。
zD                                 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE                                  除去 (Eliminate) 窗口里“所有”的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

zz:                                 将当前行置于屏幕中间
zt:                                 将当前行置于屏幕顶端
zb:                               底端啦
z-<ret>                                将当前行置为屏幕的顶行

" 设定文件浏览器目录为当前目录(以下两行)
set bsdir=buffer
set autochdir

 

Vim cheat sheet: http://www.viemu.com/vi-vim-cheat-sheet.gif

posted on 2013-03-20 23:15  feng.qi  阅读(281)  评论(0编辑  收藏  举报