vim文本编辑
6.1 vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底线命令模式(Last line mode)。
6.2 命令模式的切换
ESC:进入命令模式
:, 进入底行命令模式
【i, I】 进入编辑模式:
i 为【从目前光标所在处插入】
I 为【在目前所在行的第一个非空格字符处开始插入】
【a, A】 进入编辑模式(Insert
mode):
a 为【从目前光标所在的下一个字符处开始插入】
A 为【从光标所在行的最后一个字符处开始插入】
【o, O】 进入编辑模式:
o 为【在目前光标所在的下一行处插入新的一行】
O 为【在目前光标所在处的上一行插入新的一行】
【r, R】 进入取代模式:
r 只会取代光标所在的那一个字符一次
R会一直取代光标所在的文字,直到按下 ESC 为止
插入模式(编辑模式):i,I,a,A,o,O,s,S,r,R
s:删除添加
r:修改/替换添加
6.3进入和退出vi/vim
(1)进入:vi filename或者vim filename,如果filename不存在,则创建它,存在打开。
(2)退出vi/vim
:w filename 另存为filename
:q 退出
:q! 强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 如果有改动则保存并退出, 否则直接退出
ZZ: 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
6.5命令光标移动
kjhl:上下左右
space:光标右移一个字符
Backspace:光标左移一个字符
Enter :光标下移一行
文档的第一行:gg
文档的最后一行:G
某一行开头:^,0(零)
某一行结尾:$
5j或者是5+Enter(回车键): 向下移动5行
5G:移动到第5行行首
ctrl+b:上一页
ctrl+f:下一页
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
w:下一个单词
b:上一个单词
6.6 拷贝
缓冲区:复制或删除的内容总是先存放在缓冲区中,缺省是放在匿名缓冲区中。
拷贝1行, yy
拷贝5行, 5yy
拷贝1个单词, yw
拷贝5个单词, 5yw
拷贝到文件尾行, yG
拷贝到行尾,y$
6.7 粘贴
p(小写):当前位置粘贴
P(大写):当前位置向前粘贴
6.8 删除
删除1行 dd
删除3行 3dd
删除1个单词 dw
删除5个单词 5dw
删除到文件尾行, dG
删除到文件首行, dgg
删除到行首, d^
删除到行尾, d$
6.9 搜索
/:向下找
?:向上找
n:查找方向的下一处匹配
N:查找方向的上一处匹配
6.10 替换
行内替换一处,:s/search/replace
search:你要查找的字符串
replace:你要修改的字符串
行内替换全部, :s/search/replace/g
global:全部替换
全部行内一处替换, :%s/search/replace
全部替换, :%s/search/replace/g
6.11 其他命令
u: 恢复前一个操作
Ctrl+r:重做上一个操作
.:是重复前一个操作
set nu:设置行号
:set nonu:取消行号
:数字:定位哪一行
6.12 vi/vim的配置
系统配置
/etc/virc, 主(默认)配置文件, 会影响全部的linux的用户.