一、vim的介绍
vim是vi的高级版本,能够像一般的IDE一样,根据文件名载入不同的语法高亮。
vi/vim有三种模式:
- 一般模式:进入vi的默认模式,能够进行复制、黏贴、删除等操作;
- 编辑模式:从一般模式按下‘i’即可进入;
- 命令行模式:从一般模式按下“:”、'?'、'/'即可进入;
二、vi/vim的按键与使用
“一般模式”的按键与使用
- h 向左
- J 向下
- K 向上
- l 向右
- 20h 向左20个字符
- 20j 向下20行
- 20k 向上20行
- 20l 向右20个字符
- Page Up 向上翻页
- Page Down 向下翻页
- Home 光标移到当前行的最左端
- End 光标移到当前航的最右端
- n [空格] 光标向右移动n个字符
- N[Enter] 光标向下N行
- G 光标移到最后一行
- nG 光标移动到第n行
- gg或1G 光标移动到第一行
- /word 向下查找word
- ?word 向上查找word
- n 如果是/word后使用,则表示向下继续查找;如果是?word后使用,则表示向上继续查找;
- N 如果是/word后使用,则表示向上继续查找;如果是?word后使用,则表示向下继续查找;
- :n,m/old/new/g 从第n行到第m行中,将old替换为new
- :n,$s/old/new/g 从第n行到最后一行中,将old替换为new
- u 类似windows中的CTRL+Z,前一步
- x 向后删除一个字符
- X 向前删除一个字符
- 3x 向后删除3个字符
- 3X 向前删除3个字符
- dd 删除当前行
- 3dd 删除当前行开始的3行
- yy 复制当前行
- 3yy 复制当前行开始的3行
- p 黏贴到当前光标的下一行
- P 黏贴到当前光标的上一行
- CTRL+r 重做前一个操作
“命令行模式”的按键与使用:
- w 保存
- :q 退出vim
- :wq 保存并退出
- :wq! (在可以转换权限的情况下)强制保存并退出
- :q! 直接退出不保存
- :w filename 另存为filename
- :n,m w filename 将第n行到第m行另存为filename
- :set nu 显示行号
- :set nonu 不显示行号
- :! command 暂时离开vim,并执行command,执行完后再进入vim
- :r filename 将filename文件的数据读入当前文件
- :set all 显示当前vim的环境配置
三、vim的恢复机制
vim正在编辑某个文件时都会同时存在.file.swp,此文件用来暂存,帮助恢复文件内容,当vim正常关闭此文件时,.filename.swp文件会消失。
- o:以只读方式打开;
- R:恢复,即从swp文件中恢复,但是swp文件不会随着vim关闭而删除,需要手动删除;
- d:删除swp文件;
- q:退出vim;