您的位置:首页 > 其它

vim的一些快捷键

2013-03-20 23:15 134 查看
全局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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: