VI编辑器高级命令大全

需积分: 10 2 下载量 121 浏览量 更新于2024-09-09 收藏 38KB DOC 举报
VI高级命令集锦 VI编辑器是 Unix 操作系统中的一种功能强大且灵活的文本编辑器,它提供了许多高级命令,帮助用户快速高效地编辑文本。下面是 VI 编辑器中一些高级命令的总结,希望对大家学习 Unix 和使用 VI 编辑器有所帮助。 **交换两个字符位置**: xp 在 VI 编辑器中,可以使用 xp 命令交换两个字符的位置。例如,如果光标当前位于第一个字符上,输入 xp 命令后,光标将移动到第二个字符上,并将两个字符的位置交换。 **上下两行调换**: ddp 使用 ddp 命令,可以交换当前行和下一行的内容。例如,如果当前行是 "hello",下一行是 "world",输入 ddp 命令后,当前行将变为 "world",下一行将变为 "hello"。 **把文件内容反转**: g/^/m0 使用 g/^/m0 命令,可以把文件内容反转。例如,如果文件内容是 "hello\nworld\n",输入 g/^/m0 命令后,文件内容将变为 "world\nhello\n"。 **上下两行合并**: J 使用 J 命令,可以合并当前行和下一行的内容。例如,如果当前行是 "hello",下一行是 "world",输入 J 命令后,当前行将变为 "helloworld"。 **删除所有行**: dG 使用 dG 命令,可以删除所有行的内容。例如,如果文件内容是 "hello\nworld\n",输入 dG 命令后,文件内容将变为空。 **从当前位置删除到行尾**: d$ 使用 d$ 命令,可以从当前位置删除到行尾的内容。例如,如果当前行是 "hello world",光标位于 "hello" 后,输入 d$ 命令后,当前行将变为 "hello"。 **从当前位置复制到行尾**: y$ 使用 y$ 命令,可以从当前位置复制到行尾的内容。例如,如果当前行是 "hello world",光标位于 "hello" 后,输入 y$ 命令后,当前行将变为 "hello world",并且复制了 " world" 到寄存器中。 **定义缩写字符串**: :ab string strings 使用 :ab 命令,可以定义缩写字符串。例如,输入 ":ab usa UnitedStatesofAmerica" 命令后,当你在文本中输入 "usa" 时,VI 编辑器将自动将其展开为 "UnitedStatesofAmerica"。 **定义键盘命令**: :map keys new_seq 使用 :map 命令,可以定义键盘命令。例如,输入 ":map keys new_seq" 命令后,可以将当前键盘命令映射到新的命令序列中。 **编辑状态设置**: :set [all] 使用 :set 命令,可以设置编辑状态。例如,输入 ":set nu" 命令后,将显示每行的行号。 **拷贝和粘贴**: nyy, p 使用 nyy 命令,可以拷贝从光标行起的下 n 行内容。例如,输入 "3yy" 命令后,将拷贝从当前行起的下 3 行内容。使用 p 命令,可以将拷贝的内容粘贴到光标处。 **单个字符替换**: r, R, s, S 使用 r 命令,可以替换单个字符。使用 R 命令,可以覆盖多个字符。使用 s 命令,可以用多个字符替换一个字符。使用 S 命令,可以整行替换。 **搜索和替换**: :%s/old_word/new_word/g 使用 :%s 命令,可以在整个文件中搜索和替换特定字符串。例如,输入 ":%s/old_word/new_word/g" 命令后,将在整个文件中将所有 "old_word" 替换为 "new_word"。 **光标控制**: k, j, H, M, L 使用 k 命令,可以上移 n 行。使用 j 命令,可以下移 n 行。使用 H 命令,可以跳到第一行。使用 M 命令,可以跳到中间一行。使用 L 命令,可以跳到最后一行。 **寄存器操作**: "ay, "ap, "bk, "bp, ... 使用 "ay 命令,可以将第 n 到 m 行的内容存到 a 寄存器中。使用 "ap 命令,可以将 a 寄存器中的内容粘贴到光标处。 **删除命令**: dl, d0, d^, dw, db, dW, dB, ... 使用 dl 命令,可以删除当前字符。使用 d0 命令,可以删除到某一行的开始位置。使用 d^ 命令,可以删除到某一行的第一个字符位置。使用 dw 命令,可以删除到某个单词的结尾位置。使用 db 命令,可以删除到某个单词的开始位置。