如何编辑vi当前使用的文件?


1

我是Linux新手并尝试使用Ubuntu 11.10。我正在设置SSH服务器,其中一条说明要求我使用vi编辑sshd_config文件。

在vi中,我不记得发生了什么(现在一切都模糊了)但是上/下键变成了大写字母。稍后,我放弃,搜索SO,解决方案是使用vim,而不是vi。所以我尝试退出vi(不记得我做了什么),但我回到了控制台。

然后,当我输入sudo vim / etc / ssh / sshd_config时,它表示存在交换文件。使用ls -A只列出ssh​​d_config,我在任何地方都看不到ssh_confid.swp文件。

ps -ef | grep vi

显示这个:

root      2914  2135  0 10:45 pts/0    00:00:00 sudo vi /etc/ssh/sshd_config
root      2915  2914  0 10:45 pts/0    00:00:00 vi /etc/ssh/sshd_config
user       4066  2135  0 11:28 pts/0    00:00:00 grep --color=auto vi

然后我尝试杀死进程,使用sudo kill 2135 2914 2915并没有任何反应。我能摆脱这个烂摊子吗?

谢谢。


3
在Ubuntu Linux中,vi并且vim是相同的程序,但是一个是另一个的符号链接(vi实际上我设想了一些旧的vi风格的键)。该.swp文件是一个vim的东西,您可以/etc/ssh/通过键入来查看它ls -a,它将显示隐藏的文件。您可以删除swp文件,或使用像pico / nano这样的编辑器。
wkl

在这种情况下,您可以通过D在收到消息时点击来删除swp文件。
kamae

Answers:


2

首先,如果

sudo kill <pid>

尝试多次尝试后不会杀死进程

sudo kill -9 <pid>.

这将迫使该进程结束。

接下来,执行一个

ls -a /etc/ssh | grep ".swp"

寻找任何交换文件。您可能会找到一个名为“.sshd_config.swp”的文件,因此您需要在尝试编辑/ etc / ssh / sshd_config之前删除它。

sudo rm /etc/ssh/.sshd_config.swp

如果您想了解更多有关Vim的信息,请点击此处链接到Vim教程。但是,我会推荐nano一些Linux新手。

互动Vim教程

图形vi-vim备忘单和教程


0

您可以vim通过键入退出而不保存:q!
如果要保存文件,请键入:wq:x
swp通过创建的文件vim是隐藏文件,开始.(点)。
我希望它能帮到你。


0

根据流程列表,您进入子shell。如果您输入您刚入exit的shell,那么您应该回到vi会话中。然后你可以继续编辑vi或退出并运行一个更直观,功能更少的编辑器,就像nanoromainl建议的那样。


-1

基本问题的解决方案是使用nano或Gedit,如果您有权访问GUI,而不是vivim。Vi和Vim是两个(相关的)复杂而强大的程序,并不适合初学者。

如果您打算在Linux(或其他地方)花费大量时间进行编码,那么学习Vi(m)的基础知识肯定是有用的,但是不要费心去学习它来编辑每个蓝月亮的几行。

解决当前问题的方法是:

$ sudo killall vi

这会vi在要求您输入密码后杀死所有正在运行的实例。

设置完毕后,使用您使用相同的命令,但用vinano这是少了很多强大了很多,其在底部菜单更加直观。

$ sudo nano /etc/ssh/sshd_config
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.