1. VIM 文本编辑
①VIM简介
vim是Linux系统下文本编辑工具(应用程序),我们可以通过在命令行输入vim-version来查看系统中是否安装了VIM
②VIM安装(Ubuntu)
在线安装:sudo apt_get upate(更新软件源)
sudo apt-get install vim(apt-get 是特权指令)
③VIM启动
- 在命令行输入 vim- 在命令行输入 vim 文件名(打开文件时,光标是处于第一行第一列的位置)- 在命令行输入 vim 文件名 +(打开文件时,光标是处于最后一行最后一列的位置)- 在命令行输入 vim 文件名 +行号(打开文件时,光标是在制定行第一列位置)
④VIM退出
- 在命令模式下 ZZ 退出,推出时会保存文件- :q- :q! 不保存,强制退出- :wq 保存退出
⑤VIM工作模式
- 命令模式:从键盘的输入,vim当做命令处理- 插入模式(编辑模式):文本编辑- 末行模式:用于文件保存的
注意:模式转换
插入模式 -> 命令模式
Esc
命令模式 -> 末行模式
:
末行模式 -> 命令模式
Esc
插入模式 -> 末行模式
插入模式和末行模式不能直接转换
⑥VIM基础命令
- 光标移动: 移动光标h、j、k、l:分别控制光标左、下、上、右移一格。
Ctrl+b:上滚一屏。backward
Ctrl+f:下滚一屏。foreward
Ctrl+d:下滚半屏。 down
Ctrl+u : 上滚半屏。 up
gg : 首行
G: 尾行
:n 第n 行
$: 行尾
0: 行首
- 删除
1) 字符删除
x:向后删除一个字符
X:向前删除一个字符
D: 删除当前光标到行尾的字符
2) 行删除
dd: 删除光标所在行
ndd: 删除光标所在行及以下共n行
:n1,n2d 删除n1—-n2 行
- 复制
1) 复制字符
多按几次ESC,然后按v,进入可视方式,然后移动方向键选中文本,
然后按y,就拷贝完成
2) 复制行
yy: 复制当前行
nyy: 复制当前行以下n行
:n1,n2 y 复制n1~n2 行数据
:n1,n2 copy dn 复制n1~n2 行数据后粘贴到dn行
- 粘贴
p(paste): 如果拷贝的是整行粘贴在当前行下。
如果拷贝的是字符粘贴在当前光标之后
P(大写): 如果拷贝的是整行粘贴在当前行上。
如果拷贝的是字符粘贴在当前光标之前
- 剪贴
dd:剪贴当前行
ndd:剪贴当前行以下n行
- 字符替换(replace)
r: 取代光标处的字符。
R:取代字符直到按ESC为止。
- 取消(undo)
u:取消上一次操作。
- 寻找字符串
/string 从光标所在处向后寻找“string”字符串,按n可往下继续找,按N 向上查找。
? string 从光标所在处向前寻找“ string ”字符串,按N可往下继续找,按 n 向上查找
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
- 替换字符串
:%s /old/new 将全文每一行第一个匹配项old 替换为new。
:%s /old/new/g 全文替换old 为new
:n1,n2s /old/new/g 在n1—n2行间替换old 为 new
- 精确查找字符串
在vi中可以通过在字符串中加入如下特殊字符,从而使得查找更加精确。
匹配行首,字符串要以^开头
匹配行尾,字符串要以$结束
例如: 要查找一个以search为行首的行,则键入/^search ,要查找一个以search为行尾的行,则键入/search$。
- 其他常见指令
:set nu 设置行号
:set nonu 取消行号设置
:.= 打印当前行的行号
:= 打印文件中的行数
ctrl+g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
