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" 时有效。