--- title: Vim 实用技巧 description: 汇总 Vim 的实用技巧,包括文件备份、快速查找替换、批量处理文件、自动补全和窗口管理等。 keywords: - Vim - 实用技巧 tags: - FormalSciences/ComputerScience - GettingStarted/CommandLineTools - Vim author: 仲平 date: 2024-08-08 --- ## 文件备份和编辑 备份当前文件并打开进行编辑,避免无法还原旧配置文件。 ``` :w hosts.back.240808 | e! ``` ## 快速查找并替换 在所有文本文件中查找并替换某个模式。 ``` :args **/*.txt | argdo %s/pattern/replacement/g | update ``` 这个命令会在所有文本文件中查找并替换 `pattern` 为 `replacement`,并保存所有修改。 ## 批量处理文件 批量删除所有文件的行尾空白字符。 ``` :args **/* | argdo %s/\s\+$//e | update ``` 这个命令会在所有文件中删除行尾的空白字符,并保存所有修改。 ## 快速拼接文件内容 将多个文件的内容拼接到当前文件。 ``` :r !cat file1.txt file2.txt file3.txt ``` 这个命令将 `file1.txt`、`file2.txt` 和 `file3.txt` 的内容插入到当前文件光标所在位置。 ## 自动补全并打开文件 自动补全路径并打开文件。 ``` :e =expand("%:p:h") . "/" =input("File: ") ``` 这个命令会打开一个提示,输入文件名后会自动补全路径并打开文件。 ## 快速窗口管理 垂直分割窗口,打开文件,关闭其他窗口 ``` :vsplit file.txt | only ``` 这个命令会垂直分割窗口并打开 `file.txt`,然后关闭其他所有窗口。 ## 自动格式化代码 格式化当前文件并保存 ``` gg=G`` | w ``` 这个命令会格式化整个文件并保持光标位置不变,然后保存文件。 ## 批量执行宏 在所有文本文件中执行宏。 ``` :args **/*.txt | argdo normal @q | update ``` 这个命令会在所有文本文件中执行寄存器 `q` 中的宏,并保存所有修改。 ## 快速编译并打开错误列表 编译当前项目并打开 QuickFix 列表。 ``` :make | copen ``` 这个命令会编译当前项目并打开 QuickFix 窗口显示错误列表。 ## 运行代码并显示输出 运行当前 Python 文件并显示输出 ``` :w | !python3 % ``` 这个命令会先保存当前文件,然后运行它并显示输出。