vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)
以下内容转自http://blog.sina.com.cn/s/blog_6d09b5750100vx3u.html
Command(命令)模式,用于输入命令;
Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;
文件的保存和退出;
Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;
:w 保存;
:w filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同
光标移动
当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;
j 向下移动一行;
k 向上移动一行;
h 向左移动一个字符;
l 向右移动一个字符;
ctrl+b 向上移动一屏;
ctrl+f 向下移动一屏;
向上箭头
向上移动;
向下箭头
向下移动;
向左箭头
向左移动;
向右箭头
向右移动;
插入模式(文本的插入);
i
在光标之前插入;
a 在光标之后插入;
I 在光标所在行的行首插入;
A 在光标所在行的行末插入;
o 在光标所在的行的上面插入一行;
O 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式;
S 删除光标所在的行,然后进入插入模式;
文本内容的删除操作;
x 一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$ 删除光标到行尾的内容;
J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;
恢复修改及恢复删除操作;
u
撤消修改或删除操作;
按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;
复制粘贴
yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到行首的内容。
y$ //复制从光标到行尾的内容。
p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
可视模式;
vi 多个文件同屏显示yy
1.在vim 编辑一个文件下:
:sp filename //两个文件可以分屏显示 ctrl + J/K 可进行上下切换
2.水平分屏:vim -on file1 file2 ... 其中:o(是小写字母o,不是数字零)n(表示你要分屏的文件个数) filen(文件名多个文件用空格分开)
上面那个文件用:ctrl + w + k
想到下面的文件用:ctrl + w + j
ctrl + w + w 进行切换
3. vim垂直分屏:vim -On file1 file2 .....
想到左面那个文件用:ctrl + w + h
想到右面的文件用:ctrl + w + l
ctrl + w + w 进行切换
4. 在垂直分屏好的文件中在打开别的文件:vsp filename
Visual 模式
进入命令模式 按 v 进入visual模式
按 上下键 进行选择
‘=’ 按默认格式对齐
‘D'删除选择内容
‘u’ 撤回操作
5. gg 回到文本首
G 回到文本尾
6.
ngg 或者 nG
n为指定的行数(如25)
25gg或者25G 跳转到第25行.
在命令模式下输入行号n
: n
如果想打开文件即跳转
vim +n FileName
查看当然光标所在的行
Ctrl+g