1. VIM 文本编辑

①VIM简介
vim是Linux系统下文本编辑工具(应用程序),我们可以通过在命令行输入vim-version来查看系统中是否安装了VIM
②VIM安装(Ubuntu)
在线安装:sudo apt_get upate(更新软件源)
sudo apt-get install vim(apt-get 是特权指令)
③VIM启动

  1. - 在命令行输入 vim
  2. - 在命令行输入 vim 文件名(打开文件时,光标是处于第一行第一列的位置)
  3. - 在命令行输入 vim 文件名 +(打开文件时,光标是处于最后一行最后一列的位置)
  4. - 在命令行输入 vim 文件名 +行号(打开文件时,光标是在制定行第一列位置)

④VIM退出

  1. - 在命令模式下 ZZ 退出,推出时会保存文件
  2. - q
  3. - q 不保存,强制退出
  4. - wq 保存退出

⑤VIM工作模式

  1. - 命令模式:从键盘的输入,vim当做命令处理
  2. - 插入模式(编辑模式):文本编辑
  3. - 末行模式:用于文件保存的

注意:模式转换
插入模式 -> 命令模式
Esc
命令模式 -> 末行模式

末行模式 -> 命令模式
Esc
插入模式 -> 末行模式
插入模式和末行模式不能直接转换
⑥VIM基础命令

  1. - 光标移动: 移动光标hjkl:分别控制光标左、下、上、右移一格。

Ctrl+b:上滚一屏。backward
Ctrl+f:下滚一屏。foreward
Ctrl+d:下滚半屏。 down
Ctrl+u : 上滚半屏。 up
gg : 首行
G: 尾行
:n 第n 行
$: 行尾
0: 行首

  1. - 删除

1) 字符删除
x:向后删除一个字符
X:向前删除一个字符
D: 删除当前光标到行尾的字符
2) 行删除
dd: 删除光标所在行
ndd: 删除光标所在行及以下共n行
:n1,n2d 删除n1—-n2 行

  1. - 复制

1) 复制字符
多按几次ESC,然后按v,进入可视方式,然后移动方向键选中文本,
然后按y,就拷贝完成
2) 复制行
yy: 复制当前行
nyy: 复制当前行以下n行
:n1,n2 y 复制n1~n2 行数据
:n1,n2 copy dn 复制n1~n2 行数据后粘贴到dn行

  1. - 粘贴

p(paste): 如果拷贝的是整行粘贴在当前行下。
如果拷贝的是字符粘贴在当前光标之后
P(大写): 如果拷贝的是整行粘贴在当前行上。
如果拷贝的是字符粘贴在当前光标之前

  1. - 剪贴

dd:剪贴当前行
ndd:剪贴当前行以下n行

  1. - 字符替换(replace)

r: 取代光标处的字符。
R:取代字符直到按ESC为止。

  1. - 取消(undo)

u:取消上一次操作。

  1. - 寻找字符串

/string 从光标所在处向后寻找“string”字符串,按n可往下继续找,按N 向上查找。
? string 从光标所在处向前寻找“ string ”字符串,按N可往下继续找,按 n 向上查找
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感

  1. - 替换字符串

:%s /old/new 将全文每一行第一个匹配项old 替换为new。
:%s /old/new/g 全文替换old 为new
:n1,n2s /old/new/g 在n1—n2行间替换old 为 new

  1. - 精确查找字符串

在vi中可以通过在字符串中加入如下特殊字符,从而使得查找更加精确。
匹配行首,字符串要以^开头
匹配行尾,字符串要以$结束
例如: 要查找一个以search为行首的行,则键入/^search ,要查找一个以search为行尾的行,则键入/search$。

  1. - 其他常见指令

:set nu 设置行号
:set nonu 取消行号设置
:.= 打印当前行的行号
:= 打印文件中的行数
ctrl+g 显示文件名、当前的行号、文件的总行数和文件位置的百分比