Linux vi / vim 基本操作

作者:Gakki

vi / vim 的基本概念

  • 什么是 vi,vi 即终端中的一款编辑器。
  • 在很多 Linux 发行版中,直接把 vi 做成 vim 的软链接。vim 即 vi improved,是从 vi 发展来的一个文本编辑器。支持代码补全、编译、错误跳转等多项功能,被称之为 " 编辑器之神 "。
  • vi / vim 没有图形界面,只能编辑文本内容,不支持鼠标操作,没有菜单,只有命令。
  • 基本上 vi / vim 共分为三种模式,分别为命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

命令模式(Command mode)

命令模式(Command mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入输入模式(Insert mode)或底线命令模式(Last line mode)。

  • 当我们启动 vi/vim 命令时,如 vim test.txt,便进入命令模式。在此状态下,敲击键盘动作会被 Vim 识别为命令,而非输入字符。如当我们按下 i ,并不要输入 i 字符,而是会被当作命令。在命令模式中,常用的几个命令有:
    • i:切换到输入模式,以输入字符。
    • x:删除当前光标所在处的字符。
    • :(英文冒号):切换到底线命令模式,在最底一行输入命令。

输入模式(Insert mode)

输入模式(Insert mode):只有在输入模式(Insert mode)下,才可以进行文字输入。在命令模式中按下 i 就进入输入模式;按 [ ESC ] 键可回到命令行模式。在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合:输入字符
  • ENTER:回车键,换行
  • BACK SPACE:退格键,删除光标前一个字符
  • DEL:删除键,删除光标后一个字符
  • 方向键:在文本中移动光标
  • HOME/END:移动光标到行首/行尾
  • Page Up/Page Down:上/下翻页
  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC:退出输入模式,切换到命令模式

底线命令模式(Last line mode)

底线命令模式(Last line mode):在命令模式下按下 :(英文冒号)就进入底线命令模式;按 [ ESC ] 键可回到命令行模式。在底线命令模式中,基本命令有:

命令 功能
w (write)保存文件
q (quit)退出程序
q! (quit)不保存强制退出 vi
wq (write&quit)保存并退出 vi

vi / vim 使用实例

1. 进入命令模式
  • 输入 vi 文件名称,就进入 vi 全屏编辑画面
  • 如:vi test.txt
    vi test.txt

注:

  • 如果没有 text.txt 文件,会自动创建一个 text.txt 文件。
  • 现在是处于命令模式。需要按下i或者a或者o 等字符切换到输入模式才可以输入文字。
2. 进入输入模式
  • 进入命令模式之后,按下i或者a或者o 等字符即可进入输入模式。在输入模式中,你可以发现在左下角有个 --INSERT--,这表示当前可输入字符了。
    进入输入模式

    注:
  • 按下 [ESC] 建可回到命令模式。
3. 进入底线命令模式
  • 当我们写完之后需要保存或者是不保存退出 vi。只需要先在输入模式中按下[ESC] 建回到命令模式,然后输入: 切换到底线命令模式。最后在输入命令即可。
  • 如:输入 wq(保存并退出 vi)或 q(不保存直接退出 vi)或 q!(不保存强制退出 vi)
    退出 vi 模式
4. 其他
  • 底线命令模式中可用的命令说明
命令 功能
w (write)保存文件(常用
w! 若文件属性为 [只读] 时,强制写入该文档。但具体能否写入,需要看该文档的权限。
q (quit)退出程序
q! (quit)不保存强制退出 vi
wq (write&quit)保存并退出 vi
w [file1] 将编辑的数据另存为 file1
r [file1 在编辑的数据中,读取 file1 的数据。也就是将 file1 文档里的内容加到游标所在行后面
n1,n2 w [file1] 将 n1 到 n2 的内存存储到 file1 文件里。
:! command 暂时离开 vi 到底线命令模式下执行 command 的显示结果。如::! ls /home即在 vi 模式中察看 /home 中执行 ls

注: ! 在 vi 当中,常常具有 [强制] 的意思。

你可能感兴趣的:(Linux vi / vim 基本操作)