vi的简单使用

vi(vim)的简单使用和说明

1.1.1 vi是模式化的工具

       vi打开文件后有三种工作模式

              编辑模式:只能看,不能输入内容

              输入模式:可以在文件中输入或者删除内容

              末行模式:可以执行一些命令操作

注意:

       打开文件之后,默认就是编辑模式

1.1.2 模式转换

       编辑模式==>输入模式

              i:在光标之前插入内容                        <<<<<

              I:将光标定位到行首,在行首之前插入数据

              a:在光标之后的位置写入内容

              A:将光标定位到行尾,在行尾之后写入新内容

              o:在光标所在行的下一行新开一行              <<<<<

              O:在光标所在行的上一行新开一行

       输入模式==>编辑模式

              ESC

       编辑模式==>末行模式  

              shift + :

       末行模式==>编辑模式

              ESC

1.1.3 常规操作

1.打开文件

       vi file:打开文件,同时将光标定位到首行的首部

       vi +n file:打开文件,同时将光标定位到指定的行的首部

       vi + file:打开文件,同时将光标定位到末行的首部

2. 关闭文件

       编辑模式下关闭方式

              保存关闭:shift+zz(快捷键)

       末行模式下的关闭方式

              q  退出文件--仅仅能退出没有修改过的文件

              q! 不保存强制退出--如果文件修改过,而且没有保存(不想保存),必须用q!

              w  保存文件--原地保存

              w /path/to/file  实现另存为的效果

              start,end w /path/to/file  实现另存为的效果(将部分内容另存为)

              wq 保存并退出

注意:

       如果用vi打开一个文件的目的是看文件中的内容,那么在关闭的时候一定要用q!

       这是为了防止误修改

3. 移动光标--编辑模式

       n[h] 左

       n[j] 下

       n[k] 上

       n[l] 右

       n[w]:移动到下个单词的首部

       n[b]:移动到上个单词的首部

4. 行内跳转--编辑模式

       0: 跳转到绝对行首(会跳转到空格前)

       ^:跳转到相对行首(会跳转到行前面的第一个非空字符上)

       $:跳转到行尾(绝对行尾)

5. 行间跳转--编辑模式

       NG:跳转到第N行

       G:直接跳转都最后一行

6. 行间跳转--末行模式

       在末行模式输入数字可以跳转到第N行

              :1     到第一行

              :100   到第100行

              :$     到末行

7. 翻屏操作--编辑模式

       ctrl+f:下翻一屏

       ctrl+b:上翻一屏

       ctrl+d:下翻0.5屏

       ctrl+u:上翻0.5屏

8. 删除字符--编辑模式

       [N]x:删除指定个数的字符

9. 删除模式--编辑模式

       删除模式的操作

              d$:删除光标到行尾的内容

              D:同上

              d0:删除光标到行首的内容

              dG:删除光标所在行和后面的全部的行

              [N]dd:删除从光标所在行向下的N行(多行)

10. 粘贴--编辑模式

       p(小):粘贴到光标所在行的下一行

       P(大):粘贴到光标所在行的上一行

11. 复制--编辑模式

       [n]yy: 复制第n行的内容

12. 替换--编辑模式

       R:进入替换模式,再次按esc退出替换模式,返回到编辑模式

       r:替换一个字符一行退出替换模式,返回到编辑模式

13. 撤销操作--编辑模式

       u:撤销操作【最大撤销之前的50次操作】

       ctrl+r: 撤销撤销的操作(等同于windows中的ctrl+y)

14. 重复之前的操作--编辑模式

       .(小黑点)

15. 查找模式--编辑模式

       / 进入查找模式,在此模式按exc可以返回到编辑模式

              /string:在文件中查找指定的字符串

              n:向下查找

              N:反向查找

16. 查找替换--末行模式

       :start,end s/查找的字符/替换的字符/修饰符

       修饰符

              g:全局替换【默认只替换每行的第一个】

       注意:

              替换格式中分隔符不一定是/,可是任意的三个相同的字符

              例如:s###g  s$$$g

17. 打开多个文件

       vim file1 file2

       :next  >>>显示下一个文件

       :prev  >>>显示上一个文件

       :qa    >>>同时退出多个文件

       :first 

       :last

18. 分屏显示两个文件

       vim -o file1 file2:上下分屏

       vim -O file1 file2:左右分屏

       ctrl+w:在两个窗口之间进行切换

19. 从一个文件读取内容--末行模式

       :r /path/to/file

20. 在vi中执行bash命令--末行模式

       :! COMMAND

例子:将命令的执行结果保存到vi所打开的那个文件中

       :r ! date

21. 末行模式下的特殊操作

       set nu:显示行号

       set nonu:

       nohl:取消高亮

       set tabstop=4:设置tab缩进4个字符

       start,stop co dest:将指定范围内的内容复制到指定行的下一行

              例子:3,5 co 9  将第三行到第五行之间的内容复制到第九行的下面

       start,stop d   将指定范围内的内容删除

              例子:3,5 d     将第三行到第五行之间的内容删除

       start,stop m dest 将指定范围内的内容移动到指定行的下一行

              例子:3,9 m 2  将第三行到第九行之间的内容移动到第2行的下面

1.2 vi的崩溃缓存机制

       如果vi打开的文件没有关闭,则会在文件的位置下生成缓存文件,文件名格式: .文件名.sw*

       基于崩溃缓存文件恢复原始文件的过程

       1. 用vim -r 崩溃缓存文件

              打开后直接保存退出即可

       2. 用vim 打开原始文件

              确认恢复成功

              在删除崩溃缓存文件之前,原始文件无法直接保存,需要使用!

       3. 如果恢复成功,则可以删除崩溃缓存文件

1.3 vi的配置文件

       /etc/vimrc:这是全局配置文件,对对所有用户都生效

       ~/.vimrc:每个用户有一个自己的配置文件,设置只对当前用户有效

       【一般不建议修改全局配置文件】

补充:

       vi打开的文件的时候

              如果文件存在,则是修改现有的文件

              如果文件不存在,则是新建一个空文件

       如果用vim打开文件,出现无法保存,需要考虑是否打开了一个目录

              退出vi打开的目录,用q!

posted @ 2019-10-11 20:31  星月辉  阅读(654)  评论(0编辑  收藏  举报