个人使用的Vim配置及Vim学习笔记

Vim的学习持续快两个礼拜了,它的确是个非常强大的编辑器,相信再经过一段时间的学习,它会更加快速地加快文字代码编辑的效率。

平时主要在工作中Web开发,基于asp.net平台,编辑html+css+js+aspx文件较多。我现在的启动设定是在原有的基础上增加了一些简单的设置:

set nobk
sy on
set ai
set nu
set sw=4
set ts=4

分别对应:

不自动生成备份文件;代码高亮;自动缩进;显示等号;tab缩进4;tab距离4。

当然,我现在最想要的是:

1、光标上移至空行时仍然与本行位于同一垂直线上;

2、输入<时自动关闭html标签。

以下是我的Vim学习记录的一些东西:

set nobk --关闭自动备份功能
set ai   --总是打开自动缩进autoindent
set ai   --总是打开自动缩进
set nu --显示行号
set nonu --去除行号

j下移 k上移 h左移 l右移
^行首 $行尾
gg文首 G文尾
:n --跳转到第n行
a插入光标后 i插入光标前
r替换当前字符 R替换当前字符及其后的字符

v --选中当前位置 V --选中当前行
ggVG --选中所有内容

nnG --直接跳转到第nn行

/ --查找
n --查找转向下一个 N --转向上一个

行号 copy 目的行号 --复制粘贴
起始行,结束行 copy 目的行号 --复制粘贴

行号 move 目的行号 --剪切
起始行,结束行 move 目的行号

yy --复制当前行
p --粘贴在当前字符后面
P --粘贴在当前字符前面

起始行,结束行 s/查找内容/替换内容

x --删除单个字符
X --删除光标前面的字符 nX --
行号d --删除一行
起始行,结束行d --删除多行

[m,n]s/源字符串/目的字符串/[option] --%表示整个文件(同1,$);
	:2,50s/^/\/\//g --在2~50行首添加//注释
	:2,50s/\/\///g --删除注释

== --缩进一次
n== --缩进n次

插入状态下
 ctrl-T --右缩
 ctrl-D --左缩
命令状态下
 >> --右缩
 << --左缩
 n<< --左缩进多行
 n>> --右缩进多行

 set sw=n --设置每层缩进的空格数 shiftwidth
 set ts=n --编辑时一个tab字符占多少空格的位置tabstop

. --重复上次命令

:sq --把当前窗口拆分为两个
:new --打开一个新窗口
:on 置当前窗口为惟一窗口

~ --转换大小写

zf      创建折叠,比如在marker方式下:
                   zf56G,创建从当前行起到56行的代码折叠;
                   10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。
                   10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。
                   在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。
zd      删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

posted @ 2010-11-26 20:30  walkingp  阅读(661)  评论(0编辑  收藏  举报