vi/vim常用命令,gvim的配置

时间:2022-12-10 10:01:43

以下内容来自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

其他插件

authorinfohttp://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 关闭
想了解更多操作方式,可以通过? 查看详细的帮助信息。