Skip to content

vi/vim 编辑器

基本操作

保存和退出操作

:wq 和 :wq! 的区别

  • 如果文件设置为只读了的话,用 :wq命令是不能保存并退出的;但是最高权限者可通过:wq!来进行文件的保存并退出文件。
  • !是强制执行,如果不带!碰上只读文件,会给提示会是只读文件,带了!忽略只读强制写入。

:x 和 :wq 的区别

  • :wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
  • :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。

:q 和 :q! 的区别

  • 如果文件有修改,:q 会提示有修改,是否退出,输入y退出。
  • 如果文件有修改,:q! 会强制直接退出,并且不对文件进行保留。

注:在正常模式下按组合键shift zz可以保存并退出

模式

命令行模式 (command mode/一般模式)

打开文件默认就是命令行模式,任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式。

若输入的字符不是Vi的合法命令,vi会响铃报警。

文本输入模式 (input mode/编辑模式)

在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。

末行模式 (last line mode/指令列命令模式)

也称转义模式。

用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。

搜索

命令行模式下输入 / + 搜索内容,例如搜索单词 java 命令为 /java,按 n 跳转到下一个匹配字符位置,按 N 跳转到上一个匹配字符位置。

参考