你如何通过SSH编辑文件?

时间:2010-08-04 15:46:15

标签: coding-style editor ssh terminal

我使用eclipse编程,有时使用像SciTE或vim这样的GUI文本编辑器。但是,我正处于一个项目中,需要我在80列SSH窗口中通过ssh连接编辑文件。

因为在打开文件之前我必须(*颤抖*)sudo vim我不知道如何在终端之外的编辑器中打开文件(这将允许我看到文字超过80列)。如果命令行较大,那么我猜使用直接vim不会有问题。

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

17 个答案:

答案 0 :(得分:91)

也许您只需将远程文件系统挂载到本地计算机,然后使用您喜欢的任何编辑器。如果运行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时间的良好连接)。 / p>

PS:使用ssh时我可以将终端设置为适合我的屏幕的宽度,然后使用它的全宽,所以我担心我不完全理解你的问题。

答案 1 :(得分:18)

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

答案 2 :(得分:10)

有各种选择。

您可以使终端更大。 ;)

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

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

答案 3 :(得分:6)

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

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

答案 4 :(得分:3)

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

答案 5 :(得分:3)

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

只要使用SSH连接到远程服务器,就会在此图形SFTP浏览器中看到远程文件。只需双击您的文件,您就可以通过SFTP直接在远程服务器上编辑它们。

答案 6 :(得分:3)

Notepad ++有一个用于通过ssh远程编辑文件的插件。我之前使用过它,但我绝对喜欢使用fish协议在KDE上使用Kate。

http://www.inmotionhosting.com/support/website/ftp-client-setup/connect-ftp-notepad-plus

答案 7 :(得分:2)

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

答案 8 :(得分:2)

Emacs和ange-ftp。

答案 9 :(得分:2)

将X11会话转发到您的终端。

http://dragonwall.net/xdeep-putty.html

这可能属于superuser.com。

答案 10 :(得分:2)

我使用Cyber​​duck和Sublime Text 2

答案 11 :(得分:1)

如果您使用的是Windows,请尝试Editplus。它不是免费的,但允许您直接通过scp打开文件。 Custom syntax files也非常方便。

答案 12 :(得分:1)

X11前进可能很迟钝......你连接的操作系统是什么?您可以在ubuntu上尝试'nano',或者如果你想要Windows密钥绑定,可以尝试'diakonos'。

答案 13 :(得分:1)

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

答案 14 :(得分:0)

最新版本的ultraedit完全符合OP的要求(IDM软件,v10和up支持SSH iirc)。我像我那样远程编写大部分代码,多年来一直使用它,没有中间文件也很好用。显然,如果你这么倾向,它也可以做FTP等。

我实际上找到了这个页面,同时寻找与Ultraedit相当的Linux ..

答案 15 :(得分:0)

如果您更面向GUI,并使用了更易用的Linux发行版之一,例如 Ubuntu Mint ,则这是另一种选择,并且不再需要装置。

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

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

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

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

答案 16 :(得分:0)

由于目前 WSL 不支持 sshfs,因此对我有用的工具是 sshfs-win

安装步骤

  1. 转到 here 并点击“下载 winfsp”
  2. 安装
  3. 转到 here 并下载安装程序
  4. 安装
  5. 打开 Windows 资源管理器并右键单击“此电脑”>“映射网络驱动器...”
  6. 选择一个盘符 (B:),输入“\\sshfs\debian@10.13.100.36”并点击完成
  7. 砰,完成。现在你可以在你的计算机上有一个 B: 驱动器,然后对这些文件做任何事情。用 VSCode 打开它们,删除它们,随便你