Linux下vi使用

来源:互联网 发布:python 数据分析 pdf 编辑:程序博客网 时间:2024/04/28 05:21

1.vi有三种模式:指令模式(Command Mode)、插入模式(Insert Mode)以及底行模式(Last line Mode)。

2.指令模式下输入i、a、o、r可进入插入模式,插入模式下按Esc键可返回指令模式。

3.指令模式下输入冒号:可进入底行模式,底行模式下按回车键执行完命令或按Esc键都可以返回指令模式。此处要特别注意,在按回车键执行完底行中的命令后,虽然在底行中仍然显示着:与命令,但是此时却已经返回了指令模式。当然了,如果在底行模式中执行了q退出命令,就直接退出vi编辑器了,也就肯定回不到指令模式了。

4.插入模式与底行模式之间不能直接进行切换,二者如果需要切换需要首先切换到指令模式,然后再切换到对应的模式。

4.执行vi test.txt,如果test.txt不存在那么会新创建一个test.txt文件,并且进入vi后底行会显示new file;如果test.txt之前已经存在,那么vi test.txt会打开该文件,并在底行显示该文件的相关信息,比如有多少行多少个字符等。然后通过i(或a、o、r)进入到插入模式,此时底行应该会显示INSERT,表示当前是插入模式,但是在ubuntu下底行信息还是刚进入vi时指令模式下的底行信息,并没有显示INSERT,解决办法是先通过:进入底行模式,然后执行set showmode,然后返回指令模式,然后再进入插入模式在底行就会显示INSERT。

5.在插入模式下有时候按上下左右方向键时,会显示ABCD四个字母,解决办法是在底行模式下执行:set nocompatible

6.指令模式下通过键盘上的四个方向键和hjkl(注意最后是l键而不是大写的i)控制光标的方向,hjkl是键盘上四个相邻且在同一行的键,h向左,j向下,k向上,l向右;在插入模式下就只能通过四个方向键来控制光标的方向了,因为按下hjkl时会在vi里面直接将他们打印出来。

7.当按下Backspace键时,有时候其只是将光标向左移而没有删除字符

8.vim中!常常表示强制的意思,比如w!

9.指令模式下的常用操作:

   dd:用于删除光标所在的那一整行

   ndd:n为数字,用于删除光标所在的向下n行,比如3dd则删除3行

   x,X: 在一行当中,x为向后删除一个字符(相当于Delete键),X为向前删除一个字符(相当于Windows中的Backspace键)

   nx: n为数字,连续向后删除n个字符,比如3x就是连续删除3个字符

   yy: 复制光标所在的那一整行

   p,P: p将已复制的数据粘贴在光标的下一行,P将已复制的数据粘贴在光标的上一行

   j:将光标所在行与下一行的数据结合成一行

   u:撤销上一次的操作,即undo

   Ctrl+r:重做上一次的操作,即redo

   小数点.: 作用是重复前一个操作

10.底行模式下的常用操作

   :set nu  显示行号

   :set nonu  不显示行号

   :wq  保存后退出   

   :q!  退出但不保存

   :w!  若文件为“只读”时,强制写入该文件。不过,到底能不能写入,还与用户对该文件的权限相关

   :wq!  强制保存后退出

11.之后为了能正常使用vi,进入vi之后应先切换到底行模式,分别执行以下命令

    :set nu

    :set showmode

    :set nocompatible

原创粉丝点击