使用 vi / vim 编辑器的基本操作

vi 是Linux 系统中最常用的文本编辑器,而 vim 是 vi 的升级版,vim 不但可以用不同颜色显示文字内容,还能够进行诸如 shell script, C program 等程序编辑功能,你可以将 vim 视为一种程序编辑器。
这里只列出常用操作而不是所有操作!

1. 用vi / vim 打开文件

在Centos7 中如果你是root用户,可以使用命令 vi [filename] 或者 vim [filename]打开文件。
如果你不是root 用户,要使用vi 打开文件就必须使用绝对路径,/bin/vi [filename], 要使用vim 打开文件就直接使用命令 vim [filename] 或者 vi [filename],这是因为非root 用户的vi 命令已经被默认定义为 vim 命令了(如图一所示):

使用alias 命令发现 vi='vim'

2. 使用vi / vim 的三种模式

  • 一般模式

以 vi /vim 打开一个文件就直接进入一般模式了。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理文件内容, 也可以使用『复制、粘贴』来处理你的文件数据。

  • 编辑模式

在一般模式中,按下『i, I, o, O, a, A, r, R』等任何一个字母之后会进入编辑模式。注意了!通常在 Linux中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

  • 指令列命令模式

在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。查找关键字、读取、存盘、大量取代字符、离开 vi / vim、显示行号等等的动作则是在此模式中达成的。

3. 一般模式的使用方法
  • 上下左右箭头:上下左右移动光标,如果要移动多次光标,可以在先输入数字再按箭头,比如 “30 向下的箭头” 就可以使光标直接向下移动30行。
  • [Page Down], [Page Up] 按键:向下,向下翻一页。同样的,可以在按键前先输入数字 n,表示一次性翻 n 页。
  • [Home], [End]:光标移动到这一行的最左边,最右边。
  • G: 移动到这个文件的最后一行, 如果前面加了数字 n,就代表移动到第 n 行。
  • gg: 移动到第一行,相当于 1G。
  • /word: 向下查找 word 字符串。
  • ?word: 向上查找 word 字符串。
  • n: 重复前一个查找动作一次。
  • N: 反向重复前一个查找动作一次。
  • :n1,n2s/word1/word2/g: 把 n1 行和 n2 行之间的 word1 替换为 word2。
  • :n1,n2s/word1/word2/gc: 把 n1 行和 n2 行之间的 word1 替换为 word2,每次替换之前需要用户确认是否替换。
  • x, X: 向后,向前删除一个字符。
  • dd: 删除光标所在的那一整行,可以结合 n 使用,即: ndd, dnG, d[Home], d[End]。
  • yy: 复制光标所在的那一列,可以结合 n 使用,即: nyy, ynG, y[Home], y[End]。
  • p, P: 将所复制的数据向下,向上粘贴。
  • u: 撤销。
  • [Ctrl] + r: 重做。
  • .: 重复刚才的动作。
4. 编辑模式

i: 进入编辑模式。I, a, A, o, O 也是进入编辑模式,区别是进入以后光标的位置不同。
[Esc]: 退出编辑模式,回到一般模式。

5. 命令模式
  • :w 将编辑的数据写入硬盘文件中。
  • :w! 当文件为“只读”时,强行写入硬盘。(不一定能成功写入,这是跟你对该文件的权限有关)
  • :q 关闭vim。
  • :q! 当你修改过文件,又不想保存时,使用 :q! 可以强制退出。
  • :wq 保存后关闭vim。
  • :w [filename] 另存为。
  • :r [filename] 在该页面游标所在行的后面读入[filename]文件。
  • :n1,n2 w [filename] 把n1到n2行的内容另存为[filename]文件。
  • :! command 暂时离开vim,执行command命令,比如::! pwd 表示查看当前目录。
  • :set nu 显示行号。
  • :set nonu 隐藏行号。

你可能感兴趣的:(使用 vi / vim 编辑器的基本操作)