在Linux系统中编辑或者修改文件常用的编辑器为VI/VIM编辑器。在使用VI编辑器的时候,需要用特定的按键来实现某些功能。下面就整理一下常用的按键操作。

如果要打开或者新建一个文件的话,在终端中直接输入 vi 文件名。

比如输入vi test.txt 然后按回车键,如果这个test.txt这个文件不存在就会新建一个文件打开,如果这个文件存在就会直接打开。

直接打开后是输入不了内容的,这是因为当前在一般模式下,如果需要输入的话需要切换到输入模式。那这两种模式有什么区别呢?

一般模式:通过特定的按键来实现某些功能,比如连按两下c键,就会删除整行内容,输入nyy就会复制当前行的内容。

输入模式:这个和在Windows下操作记事本时是一样的,按下按键就会输入字符。每个字母都是字符。没有特殊的含义。

那为什么要这两种模式呢?因为在VI编辑器中是不支持鼠标的,只能用键盘来操作文档。为了更高效的编辑文档,就出现了一般模式,比如在一般模式下可以通过按键盘上的几个按键就能快速的删除多行或者复制多行内容。这个比使用鼠标操作起来效率要高的多。

要切换到输入模式时,可以通过快捷键实现:

  • i 在当前光标所在字符的前面,转为输入模式。
  • I 在当前光标所在行的行首转换为输入模式。
  • a 在当前光标所在字符的后面,转为输入模式。
  • A 在光标所在行的行尾,转换为输入模式。
  • o 在当前光标所在行的下方,新建一行,并转为输入模式。
  • O 在当前光标所在行的上方,新建一行,并转为输入模式。
  • s 删除光标所在字符。
  • r 替换光标处字符。
  • 可以替换当前光标所在位置之后的字符
  • ESC 退出cherub模式

比如在一般模式下时,按一下键盘上的a键。

此时编辑器左下角就会出现显示插入这两个字,意思是现在在摄入模式下,可以在文档中正常的输入字符了。

输入完内容之后,按下键盘ESC键,就会退出输入模式进入到一般模式。此时就可以通过快捷键操作输入的内容了。常用的快捷键操作有

1 、移动光标指令:

  • h( 或左方向键) 光标左移一个字符。
  • l( 或右方向键) 光标右移一个字符。
  • j( 或下方向键) 光标下移一行。
  • k( 或上方向键) 光标上移一行。
  • nG 光标移动到第 n 行首。
  • n+ 光标下移 n 行。
  • n- 光标上移 n 行。

2 、屏幕翻滚指令

  • Ctrl+f /PageDown 屏幕向下翻一页,相当于下一页。
  • Ctrl+b /PageUp 屏幕向上翻一页,相当于上一页。

3 、复制、删除和粘贴指令

  • cc 删除整行,并且修改整行内容。
  • dd 删除该行,不提供修改功能。
  • ndd 删除当前行向下 n 行。
  • x 删除光标所在的字符。
  • X 删除光标前面的一个字符。
  • y 复制光标所选内容
  • yy 复制当前行
  • nyy 复制当前行及其下面 n 行。
  • p 将复制的内容粘贴在当前行的下一行
  • P 将复制的内容粘贴在当前行的上一行
  • u 撤销上一步的操作

4、文本查找和替换

  • /要查找的字符 
  • n 查找下一个关键字
  • N 查找上一个关键字
  • :s/abc/123  将当前行中的第一个abc替换为123
  • :s/abc/123/g 将当前行中的abc全部替换为123
  • %s/abc/123 将所有行中的第一个abc替换为123
  • %s/abc/123/g 将所有行中的所有abc全部替换为123
  • :10,30s/abc/123/g 将10-30行中的abc全部替换为123

比如在一般模式下,此时将光标放在第一行,然后按键盘上的y键两次,就会复制第一行的内容。

然后在按一下键盘上的p键,就会将第一行的内容拷贝到第二行。

此时要查找内容时,支架按下键盘上"/"键,开始文本查找。

在/后面输入rst,系统就会自动在当前文本中查找字符串“rst”,查找完成后按ESC键,退出文本查找。

在一般模式下按键盘上的 ":"键,就可进入到命令行模式。

命令行模式下常用命令

  • w 保存文档
  • w <filename> 另存为以 <filename> 为文件名的文档
  • r <filename> 读取文件名为 filename 的文档
  • q 直接退出软件,前提是文档未做任何修改
  • q! 不保存修改,直接退出软件
  • wq 保存文档,并退出软件。
  • set nu 在行首加入行号
  • set nonu 不显示行号
  • set hlsearch 搜索结果高亮显示
  • ! command 回到终端窗口,执行 command 命令,按回车键可切回 vim。

一般最常用的就是wq保存退出命令,如果不想保存就用q!命令,强制退出不保存。

 

      

 

更多推荐

Linux学习笔记---VI编辑器常用快捷键