更新 vim 设置
@@ -1,45 +1,41 @@
|
||||
# 通常 vimrc 在 /etc/vim/vimrc
|
||||
## 配置文件 vimrc 通常在 /etc/vim/vimrc
|
||||
|
||||
|
||||
用 vim ~/.vimrc
|
||||
> ### 我们可以把vimrc 重建在 ~ 目录下,这时文件只能当前用户有效 ~/.vimrc。
|
||||
|
||||
在 Debian(以及大多数 Linux 系统)中,将一个普通用户目录下的文件内容追加到系统级配置文件(如 /etc/vim/vimrc)的末尾,需要使用超级用户权限(sudo)。
|
||||
|
||||
由于直接使用重定向符号 >> 时,权限提升只对命令生效,对重定向操作不生效,因此推荐使用 tee 命令。
|
||||
**在 Debian(以及大多数 Linux 系统)中,将一个普通用户目录下的文件内容追加到系统级配置文件(如 /etc/vim/vimrc)的末尾,需要使用超级用户权限(sudo)。**
|
||||
|
||||
**由于直接使用重定向符号 >> 时,权限提升只对命令生效,对重定向操作不生效,因此推荐使用 tee 命令。**
|
||||
|
||||
以下是具体的操作步骤:
|
||||
|
||||
1. 推荐方法:使用 tee -a
|
||||
使用 tee -a
|
||||
打开你的终端,输入以下命令:
|
||||
|
||||
```
|
||||
Bash
|
||||
cat ~/.vimer | sudo tee -a /etc/vim/vimrc > /dev/null
|
||||
命令原理解释:
|
||||
```
|
||||
### 命令原理解释:
|
||||
|
||||
cat ~/.vimer:读取你个人目录下的 .vimer 文件内容。
|
||||
cat ~/.vimer:读取你个人目录下的 .vimer 文件内容。
|
||||
|
||||
|:管道符,将前面命令的输出作为后面命令的输入。
|
||||
|:管道符,将前面命令的输出作为后面命令的输入。
|
||||
|
||||
sudo:以管理员权限执行后面的命令(系统会提示你输入密码)。
|
||||
sudo:以管理员权限执行后面的命令(系统会提示你输入密码)。
|
||||
|
||||
tee -a /etc/vim/vimrc:tee 命令用于读取标准输入并将其写入文件。-a (append) 参数表示追加到文件末尾,而不是覆盖原文件。
|
||||
tee -a /etc/vim/vimrc:tee 命令用于读取标准输入并将其写入文件。-a (append) 参数表示追加到文件末尾,而不是覆盖原文件。
|
||||
|
||||
> /dev/null:tee 命令默认也会将内容输出到终端屏幕上。加上这个是为了将屏幕输出丢弃,保持终端界面整洁(如果你想在屏幕上看到追加的内容,可以去掉这一部分)。
|
||||
|
||||
2. 备选方法:使用 sh -c
|
||||
如果你更习惯使用重定向符号 >>,可以通过让 sudo 启动一个拥有 root 权限的子 Shell 来执行整个追加命令:
|
||||
|
||||
Bash
|
||||
sudo sh -c 'cat ~/.vimer >> /etc/vim/vimrc'
|
||||
命令原理解释:
|
||||
|
||||
sudo sh -c '...':以管理员权限运行一个 shell 环境,并执行单引号内的完整命令。
|
||||
|
||||
cat ~/.vimer >> /etc/vim/vimrc:在拥有 root 权限的 shell 中,安全地将内容追加(>>)到目标文件中。
|
||||
> /dev/null:tee 命令默认也会将内容输出到终端屏幕上。
|
||||
加上这个是为了将屏幕输出丢弃,保持终端界面整洁(如果你想在屏幕上看到追加的内容,可以去掉这一部分)。
|
||||
|
||||
###
|
||||
💡 安全建议:操作前备份
|
||||
/etc/vim/vimrc 是全局配置文件,影响系统上的所有用户。在修改系统配置文件之前,养成备份的好习惯是非常重要的。建议在执行上述命令前,先运行一次备份命令:
|
||||
|
||||
```
|
||||
Bash
|
||||
sudo cp /etc/vim/vimrc /etc/vim/vimrc.bak
|
||||
```
|
||||
这样如果追加的内容导致 Vim 出现错误,你可以随时通过 sudo cp /etc/vim/vimrc.bak /etc/vim/vimrc 恢复原状。
|
||||
Reference in New Issue
Block a user