首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Linux上编辑远程文件的快速方法是什么?

在Linux上编辑远程文件的快速方法是什么?
EN

Stack Overflow用户
提问于 2014-08-07 13:19:57
回答 2查看 3.8K关注 0票数 5

我有一个远程文件,我定期编辑。我想用一个快速、简单的命令编辑它,这个命令很可能通过SSH工作。目前,我的工作流程是通过SSH连接到远程计算机,使用编辑器(例如vim或nano)打开文件,编辑、保存并关闭连接。

我知道我可以使用SSHFS或Nautilus功能挂载远程计算机文件系统,但我实际上是在寻找一个命令在终端中运行,该命令将在编辑器中打开文件,允许我保存,然后退出,关闭到远程计算机的所有连接。

目前,我正试图通过SSH向远程计算机传递一个命令,但我遇到了困难。对于VIM,命令如下所示:

代码语言:javascript
复制
ssh user1@computer1 "vim /path/laboratory_notebook_1.md"

使用此过程,VIM无法正确运行,并显示以下错误:

代码语言:javascript
复制
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal

对于nano,命令如下所示:

代码语言:javascript
复制
ssh user1@computer1 "nano /path/laboratory_notebook_1.md"

使用此过程,nano不运行,并出现以下错误:

代码语言:javascript
复制
Error opening terminal: unknown.

我不知道该怎么继续这条思路。我希望能在这个方法上提供帮助,并建议用最少的交互量快速地编辑远程文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-07 13:24:48

力伪TTY分配

您可以强制使用一个或多个-t标志强制伪tty分配。SSH(1)手册页说:

代码语言:javascript
复制
 -t      Force pseudo-tty allocation.  This can be used to execute arbi-
         trary screen-based programs on a remote machine, which can be
         very useful, e.g. when implementing menu services.  Multiple -t
         options force tty allocation, even if ssh has no local tty.

示例

使用您自己的示例(稍微修改一下),如果您有本地TTY或PTY,则可以使用以下内容:

代码语言:javascript
复制
ssh -t user1@computer1 'vim /path/laboratory_notebook_1.md'

对我来说,OpenSSH_6.2p2很好。您的里程(和操作环境)可能会有所不同。

票数 9
EN

Stack Overflow用户

发布于 2014-08-07 13:21:55

如果你在使用vim。Vim附带了一个名为netrw的插件,它将允许您这样做。

代码语言:javascript
复制
vim scp://hostname/path/to/file

将文件复制到您的本地机器,并在保存重新上传它。

请看一下netrw的文档:h netrw

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25183674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档