Linux常用命令(2)--vi (vim)文本编辑工具

一、vi 编辑器的基本概念 
  vi 编辑器是Linux系统自带的一种功能强大的文本编辑工具。
  vi 可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。不过我们在使用时,一般将“底行模式”也算成是“命令行模式”。三种模式的功能如下:
  • 命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,以及从命令行模式进入插入模式或底行模式。
  • 底行模式:    将文件保存或退出vi编辑器,也可以用来设置编辑环境,如查找字符串、列出行号等(底行输入" : + 命令 "的方式)。
  • 插入模式:  只有在插入模式下,才可以做文本的编辑和修改;在插入模式下,按「ESC」键可回到命令行模式。
二、快捷导航 - vi 常用命令
  
  注:以下介绍vi命令时,统一按照两种模式进行区分,即:命令行模式、插入模式。
 
1、从【命令行模式】切换到【插入模式】
  • 按「i」键:进入插入模式后,是从当前光标位置开始输入字符;
  • 按「a」键:进入插入模式后,是从当前光标的下一个位置开始输入字符;
  • 按「o」键:进入插入模式后,是在当前光标之下插入新的一行,从行首开始输入字符;
  • 按「shift + o」(即:大写‘’O‘’)键:进入插入模式后,是在当前光标之上插入新的一行,从行首开始输入字符。
2、从【插入模式】切换到【命令行模式】
  • 按「ESC」键:在【插入模式】下,按「ESC」键,切换到【命令行模式】。 
 
 
3、【命令行模式】保存修改的内容、退出vi编辑器
: w filename    #保存编辑的文件内容,并将文件的名称设为filename
: wq            #保存编辑的文件内容,并退出vi 编辑器
: q!            #不保存编辑的内容,并直接退出vi 编辑器

4【命令行模式】文本内容被修改后,对修改的内容进行撤销、撤销取消

u           #在命令模式下,按“u”键,撤销修改的内容,即将内容回退到上次修改之前的状态
Ctrl + r    #在命令模式下,按“Ctrl+r”键,撤销取消,即在执行【u撤销】之后,再执行【Ctrl + r】将数据恢复到【u撤销】操作之前的状态
5、【命令行模式】移动光标--上下翻页
 
vi可以使用键盘的“home”、“end”键,来进行上下翻页。
vi也可以使用“crtl + 小写字母”,来控制翻页。
  • 按「ctrl」+「b」:屏幕往“后”移动一页。
  • 按「ctrl」+「f」:屏幕往“前”移动一页。
  • 按「ctrl」+「u」:屏幕往“后”移动半页。
  • 按「ctrl」+「d」:屏幕往“前”移动半页。
6、【命令行模式】移动光标--显示行号、跳转到指定行
:set  nu     #显示行号
:set  nonu   #取消显示行号
:行号         #跳到指定行 
:1           #跳到文件的第一行
:$           #跳到文件的最后一行
gg           #跳到文件的第一行
Shift + g    #跳到文件的最后一行

 7、【命令行模式】移动光标--上下左右

  vi可以直接用键盘上的上下左右键来控制光标的移动。也可以用小写英文字母,来控制光标的移动。
  • 「h」:向左
  • 「j」:向下
  • 「k」:向上
  • 「l」:向右

8、【命令行模式】移动光标--快速跳到本行的指定位置

按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头

9、【命令行模式】删除文字、删除行

「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行

10、【命令行模式】复制文字、复制行

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
11、【命令模式】查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

注:"n"正向查找,"shift + n"反向查找

12、【命令行模式】替换字符

「r」:替换光标所在处的字符(仅替换当前光标所在的一个字符)。
「R」:从当前光标所在位置开始,替换光标所在之处的字符,直到按下「ESC」键为止。

13、【命令行模式】按字进行更改(相当于删除指定的一个字 或 多个字)

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

  

原文地址:https://www.cnblogs.com/newbie27/p/11087020.html