Linux下vi使用
2013-11-30 22:03
211 查看
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
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
相关文章推荐
- Linux系统攻略 关于vi替换命令的使用说明
- linux的vi使用及ssh的no further authentication methods available问题解决
- 【转】Linux上vi(vim)编辑器使用教程
- Linux编辑器vi使用方法详细介绍
- Linux vi/vim使用方法
- [Linux/Ubuntu] vi/vim 使用方法讲解
- Linux命令行技巧 + 快速提高vi/vim使用效率途径 + 解决 ubuntu 13.10下eclipse菜单栏失效
- Linux 中 vi 的使用
- Linux上vi(vim)编辑器使用教程
- [Linux/Ubuntu] vi/vim 使用方法讲解
- linux-Centos 7学习—Vim/Vi的学习和使用
- Linux编辑器vi使用方法详细介绍
- linux下vi与vim编辑器的区别及使用方法
- linux 中 Vi 以及 Vim 的使用
- [Linux/Ubuntu] vi/vim 使用方法讲解
- 介绍linux下vi命令的使用
- Linux上vi(vim)编辑器使用教程
- Linux 之 vi使用
- 介绍linux下vi命令的使用
- linux工具使用:vi,gcc,gdb,make