vim卡死,或者不能输入的原因(Vim crashed)

       有些时候使用vim的时候莫名其妙的会卡死,导致输入不了内容。查了一下资料发现,其实并不是vim卡死,而是在使用vim的工程中带入了许多Windows上的使用习惯,比如“Ctrl-s”保存等,这可能会与Linux平台的有些快捷键冲突。ctrl-s在windows上的编辑器是默认保存,但是在Linux,却是禁止在命令行(控制台)输入内容,所以这时候就表现为卡死(没有任何提示),解决的方案也好办“ctrl-q”就可以

      再着就是在配置vim的时候不要配置"no swapfile",有人说:" 以前计算机经常崩溃,vim 会自动创建一个 .swp 结尾的文件, 崩溃重启后可以从 .swap 文件恢复 , 现在计算机鲜少崩溃了,可以禁用此功能“ 但是Linux可能是通过ssh,或者其他手段远程连接上去的,不确定性因素很多,不要配置"no swapfile",即使中途连接断掉,编辑的文件还可以找回来。

### 解决方案 当在编辑 Nginx 的 `default` 配置文件时遇到 `E325: ATTENTION Found a swap file by the name ".default.swp"` 错误,这通常是因为之前打开该文件时未能正常关闭,从而留下了 `.swp` 文件。以下是具体的解决方案: #### 方法一:删除现有的 `.swp` 文件 `.swp` 是 Vim 自动生成的交换文件,用于保存正在编辑的内容以防数据丢失。如果确认之前的会话已无恢复必要,则可以直接删除该文件。 1. 使用以下命令查找并删除对应的 `.swp` 文件: ```bash rm ./.default.swp ``` 2. 删除完成后重新尝试通过 Vim 打开目标文件: ```bash sudo vim /etc/nginx/sites-available/default ``` 这种方法适用于不需要恢复上一次编辑内容的情况[^3]。 --- #### 方法二:强制加载或放弃交换文件 如果不希望手动寻找和删除 `.swp` 文件,也可以直接在 Vim 中处理这一问题。 1. **恢复上次编辑状态** 如果需要恢复上次未完成的编辑操作,在启动 Vim 时可以加上 `-r` 参数来读取交换文件中的内容: ```bash sudo vim -r /etc/nginx/sites-available/default ``` 2. **放弃交换文件** 如果不关心上次的修改内容,可以在提示界面输入选项 `(O)pen it read-only` 或者直接选择 `(D)elete it` 来移除交换文件并继续工作。具体操作如下: - 当出现提示时,键入大写字母 `D` 并按回车。 - 这样即可跳过冲突警告并正常进入编辑模式[^4]。 --- #### 方法三:禁用交换文件功能(临时/永久) 对于某些场景下频繁发生此类问题或者无需使用交换文件的情况下,可以选择禁用它。 1. **临时禁用** 在每次运行 Vim 命令时附加参数以禁用交换文件创建: ```bash sudo vim -n /etc/nginx/sites-available/default ``` 此处的 `-n` 表示不使用交换文件[^1]。 2. **永久禁用** 若要彻底禁用全局范围内的交换文件生成,可将以下设置加入到用户的 `.vimrc` 文件中: ```vim set noswapfile ``` 注意:此方法可能会影响数据安全性,仅建议在特定需求环境下采用。 --- ### 总结 上述三种方式分别针对不同情况提供了灵活的选择。一般推荐优先考虑 **方法一** 和 **方法二**,因为它们既简单又不会影响其他功能;而 **方法三** 则适合那些完全不需要交换保护机制的人群。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值