一、介绍vim
1.vim是vi的新版本,是unix的标准文本编辑器,默认情况下执行vi运行的是vim
2.优点:速度、简便、高可用性
3.缺点:比一般的编辑器稍难
二、VIM的使用
1.VIM有多种模式
2.三种主要模式
a.命令模式(默认):移动光标、剪切/粘帖文本,更改模式
b.插入编辑模式:修改文本内容
c.扩展模式:保存、退出等等
3.按多次Esc会返回至命令模式
4.进入文件
vim /tmp/passwd
q!:不保存退出
e!:重新读取该文件,之前的修改不保存
wq:和x存盘退出
5.插入模式
“i”进入插入编辑模式
“A”跳至行尾
“o”在下方插入新的一行
“O”在上方插入新的一行
6.moving around
a.move by word: w(往前跳一个单词),b(往后跳一个单词)
b.jump to line x :xG,or:x(例如:100,表示跳至100行)
c.jump to top : gg
d.jump to end : G
7.search and replace
command and EX mode
命令模式下,直接按"/"键,后面跟需要搜索的内容,然后回车,被搜索的内容会高亮显示出来。
例如:vim /tmp/passwd
/var
a.search as in less
-/,n,N("/"后跟要搜索的内容,n向下查找,N向上查找)
b.search/replace as in sed
1,5s/cat/dog/
%s/cat/dog/gi
例:%s/a/d/g 将所有a替换为d
8.复制粘贴copy and paste
a.复制
xyy(x为要复制的行数,按p粘贴)
b.删除/剪切
xdd(x为要删除的行数)
use yy to copy one line
use Nyy to copy N line
use dd to delete/cut one line
use Ndd to delete/cut N line
use p or P to paste copied or delete data
-p 在当前行的下方粘贴
-P 在当前行的上方粘贴
9.undoing change撤销
u undo most recent change
Ctrl-r redo last "undone"change
三、using multiple "windows"
1.multiple documents can be viewed in a single vim screen
ctrl-w,s splits the screen horizontally(横向切屏)
ctrl-w,v splits the screen vertically(纵向切屏)
ctrl-w,Arrow moves between windows(用来切换窗口)
2.Ex-mode instructions always affect the current window
3.ctrl-w,o close all other windows
4.ctrl-w,n open a new window
四、configuring vi and vim
:set number (打开行号)
:set autoindent (打开自动缩进)
:set ignorecase (忽略大小写)
如果需要每次打开vim编辑器的时候自动完成上面设置,则需要在用户home目录下的.vimrc文件下设置
vim .vimrc
set number(非扩展模式,而是直接在文档中编写)
Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm
强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htm
Vim 7.4a 发布,全新更快的正则表达式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm
CentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htm
Vim编辑器使用基础教程 http://www.linuxidc.com/Linux/2013-05/84031.htm