您如何通过SSH编辑文件?


70

我使用eclipse编程,有时使用GUI文本编辑器(如SciTE或vim)。但是,我处于一个项目的关键时刻,要求我在80列SSH窗口中通过ssh连接编辑文件。

因为必须sudo vim打开(* shiver *)才能打开文件,所以我不确定如何在终端外部的编辑器中打开文件(这样我可以看到超过80列的文本)。如果命令行较大,那么我想使用直接vim不会有问题。

我不知道如何处理这种情况以及如何将这一噩梦变成可管理的编码环境。


我实际上不太明白你的问题。是否要在终端中(通过ssh连接)编辑文件?

我实际上没有得到我的问题。我已尽力解释了这个问题,希望有人能提供答案。基本上,我需要编辑仅通过SSH可用的文件-并且在终端内进行编辑只是不会削减它。我想在适当的GUI编辑器中编辑它们-但仍使用SSH连接进行保存/打开。
Xeoncross

3
您的一些答案(“使我能够看到超过80列的文本”,“允许我使用允许调整大小的超棒终端”)使我感到奇怪:您是否在Windows命令提示符下进行SSH操作?(ew!)我必须推荐更好的方法,因为当您陷在Windows环境中时:“ PuTTY”:chiark.greenend.org.uk/~sgtatham/putty
Thanatos

Answers:


103

也许您应该只是将远程文件系统挂载到本地计算机,然后使用所需的任何编辑器。如果运行Debian衍生产品,请安装sshfs

sudo apt-get install sshfs

然后挂载远程文件系统(本地计算机上的问题)

mkdir ~/remote_code
sshfs $USER@remote.example.com:/home/$USER/code ~/remote_code

完成此操作后,您可以使用任何GUI工具访问〜/ remote_code中的代码,而无需使用ssh -X占用带宽(但仍然需要良好的连接且ping时间短)。

PS:使用ssh时,我可以将终端制作成适合我的屏幕的宽度,然后再使用其完整宽度,因此我担心我不能完全理解您的问题。


我使用的窗口在所有有用的方面都非常糟糕(不包括Adobe),切换到Ubuntu VM允许我使用它的超棒终端,该终端可以调整大小!所以现在我将只用vim编辑文件,因为我现在可以消除那些讨厌的换行。我还将研究装入文件系统!
Xeoncross

1
很高兴得知您已经有了解决问题的方法。当使用带有Ubuntu的VM时,sshfs应该可以按照您的期望工作。如果你想坚持瓦特/ Windows中,你可以安装(通过Cygwin的提供的工具cygwin.com)提供一个更强大的终端+配件W /一个很好的SSH客户端等
杰拉德Senarclens德格朗西

刚刚完成sshfs的设置,我对此感到非常满意。试图研究保险丝,但我不知道。
Xeoncross 2010年

23

WinSCP是一个类似于ftp的SSH客户端。默认编辑器是原始的,但可以更改。


1
是的,我经常在SciTE中使用它。
Xeoncross 2010年

1
通过转到选项->首选项->编辑器->添加(指向N ++安装),可以将Notepad ++设置为默认编辑器。然后单击向上按钮,直到Notepadd ++在列表顶部。
KERR

10

有多种选择。

您可以使终端更大。;)

如果要在计算机上安装图形环境,则可以使用ssh -X(或xdeep-putty,如果您在Windows上)登录以启用窗口转发。然后,您可以在远程计算机上运行自己喜欢的编辑器,并转发其图形输出。

最后,您可以使用suse(例如,非Linux操作系统可能存在类似的选项)将ssh连接安装到文件系统中。这样,您就可以使用自己喜欢的编辑器在本地访问远程计算机上的任何文件,就像在文件系统中一样。


是+1,使用FUSE挂载并使用您喜欢的编辑器进行编辑非常有效。
neoneye 2010年

6

我不确定100%是否适用于root用户拥有的文件,但是如果您的桌面是KDE并且远程系统是Linux(或几乎任何形式的* nix),则可以使konqueror使用以下命令访问远程计算机“ fish://”协议。从那里,您可以使用kate或您喜欢的编辑器从konqueror中打开文件,konqueror将负责将文件复制到本地计算机,并在保存时将其复制回。

如果无法通过X11转发是一个不错的选择,但是通过SSH到远程站点的X11可能很慢。“ ssh -X -C”压缩数据流并可以提供更好的性能。


1
您可以通过在“ KDE打开文件”对话框(例如在Kate中)中按Ctrl-L并输入来执行此操作fish://user@host:path-to-directory
z0r14年



3

如果您使用的是Ubuntu,请转到Nautilus(文件浏览器),连接到服务器(将sftp://添加到主机名),然后瞧瞧!您现在可以轻松启动gedit来编辑文件。


3

在Windows上,您可以使用MobaXterm(http://mobaxterm.mobatek.net):它具有内置的SSH客户端和非常有用的“ SFTP浏览器”。

使用SSH连接到远程服务器后,您将立即在此图形SFTP浏览器中看到您的远程文件。只需双击您的文件,您就可以通过SFTP在远程服务器上直接对其进行编辑。


2

您可以尝试使用Komodo编辑器。它具有通过ssh加载“远程文件”的功能。真的很方便




1

X11 forward可能很慢...您要连接到什么操作系统?您可以在ubuntu上尝试使用“ nano”,如果需要Windows键绑定,可以尝试使用“ diakonos”。



1

FileZilla帮了我大忙。Notepad ++可以和它一起使用,这很棒。


0

最新版本的ultraedit完全可以满足OP的要求(IDM软件,v10及更高版本支持SSH iirc)。我大部分都是这样远程进行编码的,已经使用了很多年,在没有中间文件等情况下也能很好地工作。显然,如果您愿意的话,它也可以进行FTP等操作。

我实际上在寻找Linux的ultraedit时找到了此页面。


0

如果您更注重GUI,并使用像UbuntuMint这样的对新手更友好的Linux发行版之一,则这是另一种选择,不需要进行任何其他安装。

您应该将nemo用作默认文件管理器。在菜单上它可能不会被称为“ Nemo”,因此请进入Help > About文件管理器(“ Files”应用)下进行查看。

nemo中,转到File > Connect to server,输入远程计算机的详细信息(SSH的默认端口为22),然后使用您喜欢的任何编辑器打开文件,就像本地计算机上的任何文件一样。您甚至可以关闭Nemo并继续在编辑器中工作。

在地址栏中,似乎正在使用 sftp协议。

请注意,如果您的远程主机的SSH连接没有活动超时,这也将阻止您在超时断开连接后在编辑器中保存更改...

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.