全面掌握vi编辑器命令

需积分: 10 1 下载量 72 浏览量 更新于2024-09-15 收藏 4KB TXT 举报
"vi命令大全" `vi` 是一个强大的文本编辑器,在Unix和类Unix系统如Linux、BSD以及macOS中广泛使用。本资源主要涵盖了`vi` 的各种操作命令,帮助用户熟练掌握编辑文本的技巧。 ### 基本模式 `vi` 编辑器有三种模式:命令模式、插入模式和底行模式。 1. **命令模式**:在命令模式下,你可以移动光标、删除文本、复制和粘贴等。 2. **插入模式**:通过某些命令(如 `i`, `a`, `o`),你可以插入文本。 3. **底行模式**:用于执行保存、退出等全局操作。 ### 光标移动 - `h`: 光标向左移动一格 - `l`: 光标向右移动一格 - `space`: 光标向右移动一格 - `Backspace`: 光标向左移动一格 - `k`: 光标向上移动一行 - `j`: 光标向下移动一行 - `Ctrl+p`: 光标向上移动一行(相当于 `k`) - `Ctrl+n`: 光标向下移动一行(相当于 `j`) ### 行与单词的操作 - `w`: 移动到下一个单词的开头 - `W`: 同 `w`,但以空格作为单词分隔 - `b`: 移动到当前单词的开头或前一个单词的末尾 - `B`: 同 `b`,但以空格作为单词分隔 - `e`: 移动到当前单词的末尾 - `E`: 同 `e`,但以空格作为单词分隔 - `)`: 移动到下一个句子的末尾 - `(`: 移动到上一个句子的开头 - `{`: 移动到上一个段落的开头 - `}`: 移动到下一个段落的末尾 ### 查找与替换 - `/pattern`: 向下查找匹配`pattern`的文本 - `?pattern`: 向上查找匹配`pattern`的文本 - `n`: 下一个匹配项 - `N`: 上一个匹配项 - `s/p1/p2/g`: 将当前行中的所有`p1`替换为`p2` - `n1,n2s/p1/p2/g`: 在行号`n1`到`n2`之间替换`p1`为`p2` ### 撤销与重做 - `u`: 撤销最近一次操作 - `Ctrl+r`: 重做撤销的操作 ### 复制、剪切与粘贴 - `yy`: 复制当前行 - `nny`: 复制从当前行开始的`n`行 - `p`: 在光标下方粘贴 - `P`: 在光标上方粘贴 - `dd`: 剪切(删除)当前行 - `ndd`: 剪切(删除)从当前行开始的`n`行 ### 文件操作 - `:w`: 保存当前文件 - `:w filename`: 另存为`filename` - `:x`: 保存并退出 - `:q`: 退出(如果文件未保存,会阻止退出) - `:q!`: 强制退出,不保存 - `:!command`: 执行shell命令`command` ### 其他常用命令 - `:n1,n2con3`: 从行`n1`到`n2`的内容复制到行`n3`后面 - `:n1,n2mn3`: 将行`n1`到`n2`标记为`n3` - `:n1,n2d`: 删除行`n1`到`n2` - `:!`: 运行shell命令并将输出显示在屏幕上 - `:r file`: 读取`file`的内容插入到当前行下面 ### 设置与选项 - `:set term`: 设置终端类型 - `:set ignorecase`: 忽略大小写进行搜索 - `:set list`: 显示行号和特殊字符 - `:set number`: 显示行号 - `:set report=0`: 不显示计数的报告 - `:set terse`: 显示简短的错误信息 - `:set nowarn`: 关闭写入文件时的警告 - `:set nomagic`: 关闭正则表达式的特殊字符功能 - `:set nowrapscan`: 在搜索时不跨越文件边界 以上仅是`vi`命令的一部分,更多高级功能和技巧需要在实际使用中不断探索和学习。通过熟练掌握这些命令,你将能更高效地处理文本编辑任务。