vim-commands
Vim(Vi IMproved)是类 Unix 系统下最常用且功能强大的文本编辑器之一。它具有高度可配置性,支持多模式操作,是系统管理员和开发人员的常用工具。
2. 配置文件层级
Section titled “2. 配置文件层级”Vim 的配置可以在不同层级上生效:
- 临时配置:在编辑器中进入“末行模式”(Command-line mode)直接输入命令,仅在当前编辑会话中生效。
- 用户级配置:位于用户家目录下的
~/.vimrc,仅对当前用户生效。 - 系统全局配置:位于
/etc/vimrc,对系统内所有用户生效。
3. 常见模式与末行命令
Section titled “3. 常见模式与末行命令”Vim 主要包含命令模式(Normal mode)、输入模式(Insert mode)和末行模式(Command-line mode)。
3.1. 末行模式常用指令
Section titled “3.1. 末行模式常用指令”在命令模式下按下 : 即可进入末行模式:
:w [path]:另存为到指定路径。:!command:临时调用外部 Shell 命令(例如:!ls)。:set nu:显示行号。:set nonu:取消显示行号。:files:查看当前已经打开的缓冲文件列表(Vim 支持同时打开多个文件,如vim file1 file2)。:e [file]:打开另一个文件进行编辑。:b [num]:在已打开的多个文件缓冲区(buffers)之间进行切换。:sp [file]:水平分屏显示文件(Ctrl + w然后按方向键可在窗口间切换)。:vsp [file]:垂直分屏显示文件。:x:如果文件未修改则直接退出,有修改则保存并退出。
4. 命令模式高频操作
Section titled “4. 命令模式高频操作”4.1. 光标移动
Section titled “4.1. 光标移动”G:移动到文档最后一行。gg:移动到文档第一行。nG:移动到第n行。n <Enter>:光标向下移动n行。^:移动到当前行的行首。$:移动到当前行的行尾。
4.2. 文本查找
Section titled “4.2. 文本查找”/pattern:向光标下方查找匹配文本。?pattern:向光标上方查找匹配文本。n:顺向跳转到下一个匹配项。N:逆向跳转到上一个匹配项。
4.3. 删除与剪切
Section titled “4.3. 删除与剪切”nx:删除光标处的连续n个字符。ndd:删除光标所在的连续n行。d1G:删除从第一行到当前光标所在行的所有内容。dG:删除从当前光标所在行到最后一行的所有内容。d0:删除当前光标处到行首的所有字符。d$:删除当前光标处到行尾的所有字符。
4.4. 复制与粘贴
Section titled “4.4. 复制与粘贴”yy:复制当前行。nyy:复制当前行开始的n行。y1G:复制第一行到当前光标行的所有内容。yG:复制当前光标行到最后一行的所有内容。y0:复制行首到光标处的所有内容。y$:复制光标处到行尾的所有内容。p:粘贴复制或剪切的内容到光标下一行(或光标后)。
4.5. 行合并
Section titled “4.5. 行合并”J:将当前行与下一行合并为一行。
4.6. 撤销与重做
Section titled “4.6. 撤销与重做”u:撤销上一个动作(Undo)。Ctrl + r:重做上一个被撤销的动作(Redo)。
5. 常见问题与优化
Section titled “5. 常见问题与优化”5.1. 禁用鼠标自动进入 Visual 模式以解决复制粘贴问题
Section titled “5.1. 禁用鼠标自动进入 Visual 模式以解决复制粘贴问题”问题现象:在某些终端下,用鼠标点击 Vim 会自动触发 visual 模式,导致无法使用鼠标右键直接将外部剪贴板的内容粘贴进 Vim。
解决方案:编辑用户配置文件并关闭鼠标支持。
vim ~/.vimrc在文件中添加以下配置:
if has('mouse') set mouse-=aendif