文本编辑器无法使用

文本编辑器无法使用

遇到一个有点奇怪的情况。基本上由于我无法控制的原因,我使用别人设置的服务器。我有 sudo 访问权限,但我就是搞不清楚发生了什么,也找不到任何文档。

当我打开.bashrc( sudo nano ~/.bashrc) 时,我得到的是静态视图,它只会覆盖顶行。我只能通过enter一次又一次地点击 才能退出Ctrl+X。下面的屏幕截图。

在此处输入图片描述

同样的事情也发生在 上vi,显然这使得无法在服务器上编辑任何内容。有人知道这里可能发生了什么吗?我在谷歌上搜索了很多,但很难锁定它。

回应lsb_release -a粘贴如下。

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

在寻找任何奇怪的代码时,我发现了以下内容.bashrc

case $- in
    *i*) ;;
      *) return;;
esac

说实话,我不确定这里发生了什么,但这是我唯一没意识到的事情,所以它可能有关联?

答案1

听起来好像有人弄乱了(虚拟)tty 设置,而这些设置在 21 世纪最好不要动,除非你实际上使用的是来自计算机博物馆的古董物理终端……

您应该能够使用以下命令(登录后立即在远程服务器上运行)使远程服务器上的 tty 处于可用状态:

stty sane

终端工作起来后,在 shell 启动脚本中查找类似stty或的命令tput,这些命令可能会对 tty 产生奇怪的影响。

答案2

在文件底部添加下一行:

export EDITOR=/path/vi

path= vi 编辑器的位置。

您可以在编辑.bashrc 之前在当前终端中执行该命令。

答案3

您的意思是,这会发生在您尝试编辑的任何文件中。

我认为 bashrc 看起来不错,我曾经在https://gist.github.com/aakbar5/2969095d8dd11e95a282157c2ca29b39,并解释了为什么该 case 语句存在。

如果您认为替换 bashrc 有帮助,您可以在没有编辑器的情况下编辑文件。请先备份。这使用 Here Doc。

cat > ~/.bashrc <‘HT’
# replacement goes here

HT

至于文本编辑器,每个路径是什么?即输出是什么which vi

答案4

尝试在会话中运行您喜欢的编辑器screen。这在 99% 的时间里都能帮助我解决此类问题。我还认为这是 TTY 设置/某些 Xterm 变量的问题,您可以尝试env从另一台机器导出输出并在这台机器上获取此类文件,检查是否能以正确的方式解决问题,但我会screen首先使用

相关内容