1
0
wiki/FormalSciences/ComputerScience/GettingStarted/3.CommandLineTools/Vim/4.Vim 实用技巧.md

112 lines
2.3 KiB
Markdown
Raw Normal View History

2024-08-08 15:49:06 +08:00
---
title: Vim 实用技巧
description: 汇总 Vim 的实用技巧,包括文件备份、快速查找替换、批量处理文件、自动补全和窗口管理等。
keywords:
- Vim
- 实用技巧
tags:
2024-10-14 16:48:38 +08:00
- FormalSciences/ComputerScience
- GettingStarted/CommandLineTools
2024-08-08 15:49:06 +08:00
- 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 <C-R>=expand("%:p:h") . "/" <C-R>=input("File: ")<CR>
```
这个命令会打开一个提示,输入文件名后会自动补全路径并打开文件。
## 快速窗口管理
垂直分割窗口,打开文件,关闭其他窗口
```
:vsplit file.txt | only
```
这个命令会垂直分割窗口并打开 `file.txt`,然后关闭其他所有窗口。
## 自动格式化代码
格式化当前文件并保存
```
gg=G`` | w
```
这个命令会格式化整个文件并保持光标位置不变,然后保存文件。
## 批量执行宏
在所有文本文件中执行宏。
```
:args **/*.txt | argdo normal @q | update
```
这个命令会在所有文本文件中执行寄存器 `q` 中的宏,并保存所有修改。
## 快速编译并打开错误列表
编译当前项目并打开 QuickFix 列表。
```
:make | copen
```
这个命令会编译当前项目并打开 QuickFix 窗口显示错误列表。
## 运行代码并显示输出
运行当前 Python 文件并显示输出
```
:w | !python3 %
```
这个命令会先保存当前文件,然后运行它并显示输出。