以下内容来自lamp兄弟连
Vi/vim常用命令
h j k l |
←↓↑→ |
yy|2yy |
复制行 |
dd|2dd |
删除、剪切行 |
p| P |
粘贴到下一行|粘贴到上一行 |
^|$ |
定位到行首|行尾 |
dG |
从当前行删除到文档最后一行 |
a |
在光标之后插入 |
i |
在光标之前插入 |
o |
在下一行插入 |
O |
在上一行插入 |
:x|:wq |
保存退出 |
:q |
不保存退出 |
:q! |
强制不保存退出 |
:! |
执行shell(dos)命令 |
:r! |
把shell(dos)命令执行结果读入文档 |
:%s/good/bad/g |
把good全部替换为bad |
:/good |
搜索good |
:$ |
到最后一行 |
:2 |
定位到第2行 |
:Ctrl+g |
显示当前文件总行数,和当前行占总文件行数的百分比 |
:set nu|:set nonu |
显示行号|关闭行号 |
:1,10s/^/#/g |
在1到10行前加#注释 |
:1,10s/#/^/g |
在1到10行前去掉#注释 |
:1,10>> |
1~10行右移动两个tab |
:1,10<< |
1~10行左移动两个tab |
:1,10d |
1~10行删除 |
r|R |
替换单个字符|替换多个字符 |
u |
撤销上次操作 |
ctrl+y |
恢复上次操作 |
Gvim配置文件
"关闭兼容模式 set nocompatible "模仿快捷键,如:Ctrl+A全选、Ctrl+C复制、Ctrl+V粘贴等等 source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin "gvim字体设置 set guifont=宋体:新宋体:h18:cGB2312 "gvim内部编码 set encoding=utf-8 "当前编辑的文件编码 set fileencoding=utf-8 "gvim打开支持编码的文件 set fileencodings=ucs-bom,utf-8,gbk,cp936,gb2312,big5,euc-jp,euc-kr,latin1 "set langmenu=zh_CN "let $LANG = ‘zh_CN.UTF-8’ "解决consle输出乱码 language messages zh_CN.utf-8 "解决菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim "设置终端编码为gvim内部编码encoding let &termencoding=&encoding "防止特殊符号无法正常显示 set ambiwidth=double "缩进尺寸为4个空格 set sw=4 "tab宽度为4个字符 set ts=4 "编辑时将所有tab替换为空格 set et "按一次backspace就删除4个空格了 set smarttab "不生成备份文件,如:index.html~ set nobackup "开启行标记 set number "配色方案为desert colo desert "关闭上侧工具栏 set guioptions-=T "关闭右侧滚动条 "set guioption-s=r "开启自动缩进 set autoindent "如果win下无法使用snipMate,可以加入路径解决 "因为win和linux使用的路径分隔符不同 "let g:snippets_dir = "d:/tools/Vim/vimfiles/snippets/" |
Js自动补全、php自动补全、html自动补全
快捷键Ctrl+x+o
安装snipMate插件:
解压snipMate文件,将里面的内容拷贝到对应vim目录。
Html快捷键使用:html+tab、head+tab、body+tab。。。。
Js快捷键使用:for+tab、if+tab、alert+tab。。。
Php快捷键使用:php+tab、foreach+tab、case+tab。。。
代码编码问题:书写代码时,文本的编码更改:set fileencoding=utf-8
或:set fileencoding=gbk
其他插件
authorinfo:http://www.vim.org/scripts/script.php?script_id=2902
自动生成/更新文件的作者信息
第一次在文件头增加作者信息,以后就是更新文件名和修改时间
php-doc插件:
对函数增加标准注释
NERD_tree:http://www.vim.org/scripts/script.php?script_id=1658
提供展示文件/目录列表的功能,比自带的文件浏览器要好很多
设置nerdtree,解压nerdtree,将解压得到的plugin和doc文件夹与~/Vim/Vim73/目录下的同名文件夹合并。然后往_vimrc文件中增加下面配置代码:
" 设置NerdTree map <F3> :NERDTreeMirror<CR> map <F3> :NERDTreeToggle<CR> 按F3即可显示或隐藏NerdTree区域了。 |
NERDTree提供了丰富的键盘操作方式来浏览和打开文件,我简单介绍一些常用的快捷键: 和编辑文件一样,通过h j k l移动光标定位 o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中 go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能 i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能 t 在标签页中打开 T 在后台标签页中打开 p 到上层目录 P 到根目录 K 到同目录第一个节点 J 到同目录最后一个节点 m 显示文件系统菜单(添加、删除、移动操作) ? 帮助 q 关闭 想了解更多操作方式,可以通过? 查看详细的帮助信息。 |