SSH常用 vi 命令整理
在使用Linux主机时,有时候会用到的一些vi命令。
编辑模式:
$ 指令 说明 $ i 在游标位置進入编辑模式 I 在游标行的第一个非空白字元進入编辑模式 $ a 在游标位置后進入编辑模式 $ A 在游标行的最后一个字元進入编辑模式 $ o 向下新增一行,并进入编辑模式 O 向上新增一行,并進入编辑模式 cc 刪除游标行,并進入编辑模式 $ [ESC] 取消指令或退出编辑模式
光标移动:
$ 指令 说明 $ gg 移到第一行 $ G 移到最后一行 $ 行数 → G 移动到第 n 行 0 移动到该行最前面 $ 移动到该行最后面 字数 → [Space] 向右移动 n 个字元 $ 行数 → [Enter] 向下移动 n 行
标记和复制:
$ 指令 说明 $ v 开始字串标记 $ V 开始行标记 $ v → [Ctrl]-V 开始区块标记 $ d 刪除标记的內容 $ y 复制标记的內容 $ yy 复制游标行 $ yG 复制游标行到最后一行 $ y1G 复制游标行到第一行 $ y$ 复制游标處到最后一个字元 $ y0 复制游标處到第一个字元 $ p 在下一行貼上复制或刪除的內容 $ P 在上一行貼上复制或刪除的內容 $ [Ctrl]-R → 0 在下一行貼上复制或刪除的內容,適用於编辑模式及指令行
搜索和替换:
$ 指令 说明 $ /搜索字串 向下搜索字串 $ # 将游标移到字串上,直接按 “*” 也可以做向下搜索 $ ?搜索字串 向上搜索字串 $ :set ic 搜索時不分大小寫 $ :set noic 搜索時要分大小寫 $ n 继续下一个搜索结果 $ N 继续上一个搜索结果 $ :起始行,终止行s/搜索字串/取代字串/gic 从第 n 行到第 n 行取代字串 (后面的 g: 整行全部, i: 不分大小写,c: 询问) $ :1,$s/搜索字串/取代字串/gic 全部取代字串 (后面的 g: 整行全部, i: 不分大小寫, c: 询问)
刪除:
$ 指令 说明 $ dd 刪除游标行 $ dG 刪除游标行到最后一行 $ d1G 刪除游标行到第一行 $ d$ 刪除游标處到最后一个字元 $ d0 刪除游标處到第一个字元
档案功能:
$ 指令 说明 $ :w 存档保存 (加 ! 表示强制存档) $ :w 档案名称 另存新档 $ :wq 存档并退出 vi $ :e 档案名称 编辑其它档案 $ :e! 还原至档案编修前的状态 $ :r 档案名称 读入档案內容,并加到游标行的后面 $ :n 切换到下一个开启的档案 $ :N 切换到上一个开启的档案 $ :set nu 显示行号 $ :set nonu 取消行号显示 $ :files 列出所有开启的档案
窗口分割:
$ 指令 说明 $ :new 新增水平视窗 $ :new 档案名称 新增水平视窗,并在新增的视窗载入档案 $ :vnew 新增垂直视窗 $ :vnew 档案名称 新增垂直视窗,并在新增的视窗载入档案 $ [Ctrl]-W → [方向键] 切换视窗 $ :o nly 仅保留目前的视窗
其它:
$ 指令 说明 $ J 将游标行与下一行合并 $ u 还原指令 $ [Ctrl]-R 重做指令 $ . 重覆上一个指令 $ ! 执行 linux 指令,并显示执行结果 $ :q 退出 vi (加 ! 表示强制退出)