vi&vim工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi&vim工具相关的知识,希望对你有一定的参考价值。

简介

  vim/vi  作用是建立、编辑、显示文本文件      没有菜单,只有命令!     

  vim是从vi发展出来的,比vi有部分增强功能!!

vim

作用:

发行版本内置文本编辑器

安装方法:

  yum install -y vim-enhanced
  yum install -y vim-*(用通配符来找到以"vim-"开头的包来安装)

语法:

  vim filename

  vim +n filename,n是数字,可以定位到该文件的第n行,多用于程序调试

模式:

vi  filename                  进入 命令模式        输入 :wq            保存退出
命令模式    输入 i a o          进入 插入模式        ESC键                退出
命令模式    输入 :               进入 编辑模式        命令以回车结束运行   自动回到命令模式

模式类别及快捷键

1、一般模式

进入方式:   
 按下 Esc  或者 刚刚使用vim打开一个文件时
可执行操作:  
移动光标    删除内容  复制   粘贴
光标位移动:
"h"和"←"、"j"和"↓"、"k"和"↑"、"l"和"→",四组分别代表向左、下、上、右各移动一个字符
"space",空格键代表向右移动一个字符,跟"l"和"→"不同的是,空格键在遇到换行符的时候换行 

PS:先输入数字n后面跟上面相应的快捷键,代表向相应方向移动该数字个位
光标页移动:
Ctrl+f或pagedown键      屏幕向前移动一页
Ctrl+b或pageup键        屏幕向后移动一页

光标精准移动:
"0"             移动到本行行首
"^"             移动到本行行首的第一个非空字符
"$"             移动到本行行尾
"H"             移动到本显示屏的最上面一行首字母
"L"             移动到本显示屏的最下面一行首字母
"gg"            移动到文档首行首字母
"G"             移动到尾行首字母
"nG"            移动到第n行

复制、粘贴与删除、还原:
"x,X"           x向后删除一个字符,X向前删除一个字符
"nx"            向后删除n个字符
"dd"            删除/剪切光标所在的那一行(dd后可以直接p,相当于剪切)
"ndd"           删除/剪切光标所在行起向下一共n行
"D"             删除光标后面的内容(dw)
"yy"            复制光标所在行
"nyy"           从光标所在行算起向下复制n行
"p"             从光标所在行向下粘贴已经复制或者粘贴的内容
"P(大写)"             从光标所在行向上粘贴已经复制或者粘贴的内容
"u"             还原上一步操作
"ctrl+r"        与"u"相反的操作
"v"             按v后移动光标会选中指定字符,然后可以复制、粘贴等
"V"             整行选中光标所跨越的行

2、编辑模式

进入方式:
(i, I, a, A, o, O, r, R)按下任意一个键,想退回到一般模式时按下Esc即可。
可执行操作:
输入内容    

i               在当前字符前插入
I               在光标所在行行首插入
a               在当前字符后插入
A               在当前行行尾插入
o               在当前行的下一行插入新的一行
O               在当前行的上一行插入新的一行

3、命令模式

进入方式:
在一般模式下,输入 ":" 、"/"或"?" 即可进入命令模式。
可执行操作:
搜索、替换、保存、退出、显示行号等。
查找和替换:
/word
寻找字符串word,按n将光标移动至下一个匹配项首字母,按N则相反

?word
与/word功能相同,只不过n和N的光标移动方向颠倒过来

:n1,n2s/word1/word2/g
"n1,n2" 代表在n1,n2行之间作为搜索范围,"1,$"和"%"代表搜索整个文档;
"s" "search"的缩写,其后紧跟的第一个字符作为隔断符,一般为"/"、"$"、"@"或"#",但不限于;
"word1"与"word2" 代表"被替换的内容"与"替换的内容";
"g" "global"的缩写,代表替换此文档内搜索到所有关键字,如过没有,则只替换每行的第一个关键字

PS:g换成数字n可以替换每行的前n个

 :%s/old/new/g           全文替换指定字符串
保存及退出:
:w              保存文本
:q              退出vim
:w!             强制保存,在root用户下即使文本只读也可以完成保存
:q!             强制退出,所有改动不生效
:wq             保存并退出
ZZ              等同于:wq

其他命令:
:set nu         显示行号
:set nonu       不显示行号

导入文件                :r 文件名
在vi中执行命令          :!命令
在vi编辑时直接把命令的执行结果导入到编辑的文件中       :r !命令

定义快捷键            :map 快捷键 触发命令      unmap取消
连续行注释 
:n1,n2s/^/#/g         在n1到n2行的行首加#
:n1,n2s/^#//g         在n1到n2行的行首去掉#
:n1,n2s/^/\/\//g      在n1到n2行的行首加//   \转义

替换                    
:ab  mail   [email protected]   将mail用[email protected]来替换   unab来取消替换

vi配置文件:用户家目录下 .vimrc     更改这个配置文件可以保存定义的快捷键及其他设置

以上是关于vi&vim工具的主要内容,如果未能解决你的问题,请参考以下文章

vi & vim

第十章 文本编辑工具vim

vi & vim 命令总结

Linux命令 vi & vim

vi & vim 搜索使用

vi & vim 搜索使用