yum -y install vimwget ftp://ftp.vim.org/ftp/pub/vim/unix/vim-6.4-src2.tar.gz
tar xvf vim-6.4-src2.tar.gz
cd vim-6.4-src2
./configure --disable-selinux --enable-cscope
make
make install_vimrc配置:
"配置目录树快捷键F2启动
map <f2> :NERDTreeToggle<CR>
"配置默认目录
cd E:\phpStudy\WWW\
"配置编码
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle提示信息输出乱码
language messages zh_CN.utf-8
"字体设置
:set guifont=Source_Code_Pro:h12:cANSI:qDRAFT
colo evening
"自动补全
autocmd InsertEnter * let save_cwd = getcwd() | set autochdir
autocmd InsertLeave * set noautochdir | execute 'cd' fnameescape(save_cwd)
set omnifunc=syntaxcomplete#Complete
"tab缩进4个空格
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
" 禁止保存后产生.un~文件
set noundofile
set nobackup
set noswapfile正常模式:可以使用快捷键命令,或按:输入命令行。
插入模式:在正常模式下,按i、a、o等都可以进入插入模式。
可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。总是整行整行的选中。ctrl+v进入可视块模式。
替换模式:正常模式下,按R进入。:e file 关闭当前编辑的文件,并开启新的文件。如果对当前文件的修改未保存,vi会警告。
:e! file 放弃对当前文件的修改,编辑新的文件。
:e+file 开始新的文件,并从文件尾开始编辑。
:e+n file 开始新的文件,并从第n行开始编辑。
:enew 编译一个未命名的新文档。(CTRL-W n)
:e 重新加载当前文档。
:e! 重新加载当前文档,并丢弃已做的改动。
:e#或ctrl+^ 回到刚才编辑的文件,很实用。
:f或ctrl+g 显示文档名,是否修改,和光标位置。
:f filename 改变编辑的文件名,这时再保存相当于另存为。
gf 打开以光标所在字符串为文件名的文件。
:w 保存修改。
:n1,n2w filename 选择性保存从某n1行到另n2行的内容。
:wq 保存并退出。
ZZ 保存并退出。
:x 保存并退出。
:q[uit] 退出当前窗口。(CTRL-W q或CTRL-W CTRL-Q)
:saveas newfilename 另存为k 向上移一行
j 向下移一行
h 向左移一个字符
l 向右移一个字符
gg 移到文件的首行
G 移到文件的末行
H 移到屏幕的第一行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
^ 移到当前行首
$ 移到当前行尾
{ 移到上一段开头
} 移到上一段结尾
Enter 移到下一行行首ctrl+f: 下翻一屏。
ctrl+b: 上翻一屏。
ctrl+d: 下翻半屏。
ctrl+u: 上翻半屏。
ctrl+e: 向下滚动一行。
ctrl+y: 向上滚动一行。
n%: 到文件n%的位置。
zz: 将当前行移动到屏幕中央。
zt: 将当前行移动到屏幕顶端。
zb: 将当前行移动到屏幕底端。i 在光标前插入文本
I 在当前行首插入文本
a 在光标后插入文本
A 在当前行末插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
s 删除光标所在处字符,并进入插入模式
S 删除光标所在的行,并进入插入模式
:r filename 读入指定文件内容,并插在当前行后
:nr file 读入文件 file 内容,并插在第 n 行后
Esc 回到命令模式x 删除光标处的字符
db 删除光标前面的字
dw 删至下一个字的开头
dd 删除整行
:n,md 从第 m 行开始往前删除 n 行
d$ 从光标处删除到行尾
d^ 从光标处删除到行首/something: 在后面的文本中查找something。
?something: 在前面的文本中查找something。
/pattern/+number: 将光标停在包含pattern的行后面第number行上。
/pattern/-number: 将光标停在包含pattern的行前面第number行上。
n: 向后查找下一个。
N: 向前查找下一个。
:noh 清除查找后的高亮:s/old/new 用new替换当前行第一个old。
:s/old/new/g 用new替换当前行所有的old。
:n1,n2s/old/new/g 用new替换文件n1行到n2行所有的old。
:%s/old/new/g 用new替换文件中所有的old。
:%s/^/xxx/g 在每一行的行首插入xxx,^表示行首。
:%s/$/xxx/g 在每一行的行尾插入xxx,$表示行尾。
%s/old/new/c 每个替换都将需要用户确认。
%s/old/new/i 每个替换忽略大小写
:set ff=unix
:%s/\\r\\+$//e doc文档转换成unix格式
:set fileencoding=utf-8 设置文件编码y: 复制在可视模式下选中的文本。
yy or Y: 复制整行文本。
y[n]w: 复制一(n)个词。
y[n]l: 复制光标右边1(n)个字符。
y[n]h: 复制光标左边1(n)个字符。
y$: 从光标当前位置复制到行尾。
y0: 从光标当前位置复制到行首。
:m,ny<cr> 复制m行到n行的内容。
y1G或ygg: 复制光标以上的所有行。
yG: 复制光标以下的所有行。
yaw和yas:复制一个词和复制一个句子,即使光标不在词首和句首也没关系。[n]x: 剪切光标右边n个字符,相当于d[n]l。
[n]X: 剪切光标左边n个字符,相当于d[n]h。
d: 删除(剪切)在可视模式下选中的文本。
d$ or D: 删除(剪切)当前位置到行尾的内容。
d[n]w: 删除(剪切)1(n)个单词
d[n]l: 删除(剪切)光标右边1(n)个字符。
d[n]h: 删除(剪切)光标左边1(n)个字符。
d0: 删除(剪切)当前位置到行首的内容
[n] dd: 删除(剪切)1(n)行。
:m,nd<cr> 剪切m行到n行的内容。
:1,10 m 12 剪切1-10行并粘贴到12行里面
d1G或dgg: 剪切光标以上的所有行。
dG: 剪切光标以下的所有行。
daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。
d/f<cr>:将删除当前位置 到下一个f之间的内容。p: 在光标之后粘贴。
P: 在光标之前粘贴。
u 撤消上一次修改
U 撤消所有修改:w 保存文件但不退出
:w file 将修改保存在 file 中但不退出
:wq 或 ZZ 或 :x 保存文件并退出
:q! 不保存文件,强制退出
:e! 放弃所有修改,从上次保存文件开始再编辑:tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab
:tabc 关闭当前的tab
:tabo 关闭所有其他的tab
:tabs 查看所有打开的tab
:tabp 前一个
:tabn 后一个
标准模式下:
gt , gT 可以直接在tab之间切换。
更多可以查看帮助 :help table , help -p:3,231> 第3行到第231行缩进:set all 查看所有选项
:set nu 设置行号
:set showmode 显示是输入模式还是替换模式
:set ts=4 为文本输入设置 tab stops
:set nonumber 取消显示行数
:.= 查看当前行的行号
:= 查看总行数
ctrl+g 显示文件名、当前的行号、文件的总行数和文件位置的百分比