Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于Vim的Emacs tramp模式替代方案

基于Vim的Emacs tramp模式替代方案
EN

Unix & Linux用户
提问于 2020-08-27 11:56:01
回答 1查看 1.9K关注 0票数 6

我目前正在使用vim (实际上是neovim)作为编写和执行GNU R-code的IDE (使用Nvim-R-plugin,请参阅https://github.com/jalvesaq/Nvim-R,它是我的REPL),它在我的本地机器上工作得很好。当有更高的工作负载或要求时,我是ssh-ing到远程机器,安装我的nvim插件,并在服务器上作为“本地”应用程序运行nvim

最近,我意识到Emacs具有巧妙的TRAMP模式(透明远程访问、多协议,请参见https://www.emacswiki.org/emacs/TrampMode),它不仅允许远程打开文件,而且还允许在远程计算机上执行命令。据我所知,这意味着我可以使用Emacs作为REPL (例如使用ESS),使用本地Emacs-instance编写代码,但在安装GNU R的远程机器上执行它(也请参阅https://ess.r-project.org/Manual/ess.html#ESS-processes-on-Remote-Computers)。

我想知道vimneovim是否存在类似的东西。我知道我可以远程编辑文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim scp://USER@SERVER:PORT//absolute/path/to/file

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim
:e scp://USER@SERVER:PORT//absolute/path/to/file

但据我所知,这实际上是在本地机器上创建文件的临时副本;在运行我的Nvim-R-REPL时,这会在/tmp/something上本地打开工作目录。

我考虑过尝试vim-slime (参见https://github.com/jpalardy/vim-slime)、repl.nvim (参见https://github.com/HiPhish/repl.nvim)或neoterm (参见https://github.com/kassio/neoterm),但我不确定是否能够尝试复制Emacs-like体验。

有什么想法吗?有人做过类似的事吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-01-07 02:20:19

免责声明:我已经在vi.SE上回答了这个问题,只是为了完整起见重复了答案。

我仍然没有找到完美的解决方案,但是一个对我来说相当好的解决方案:通过使用vim-slime (它只用vimscript编写)。

在我的配置文件(~/.config/nvim/init.vim~/.vimrc)中,我使用了以下一行(S):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let g:slime_target = "neovim"
"let g:slime_target = "vimterminal"
"let g:slime_target = "screen"
"let g:slime_target = "tmux"

只需要其中之一。第一行用于neovim,但如果使用vim,则使用第二行(未注释)。在我的工作流中,我是ssh-ing,进入一个远程机器,然后打开我想要使用的文件(例如,我的script.Rlist_of_commands.sh),然后创建一个:vertical split,然后打开一个:terminal,然后我可以在那里运行,比如我的GNU R-interpreter或bash。如果您喜欢使用终端多路复用器,则可以使用screen (与Ctrl-a | Ctrl-a l Ctrl-a c)或tmux (与Ctrl-b %一起)创建新的拆分,并在config-文件中从上面(未注释)创建适当的行。

然后,当我调用:SlimeSend-command (缩写为Ctrl-c Ctrl-c,因此必须按两次相同的键组合)时,将选择当前对光标的文本发送到目标(当配置正确且您的拆分已经存在时,默认情况下写入正确)。

这可能不像TRAMPEmacs中那样优雅,但它可以工作。但是,如果有人有改进的想法,不要犹豫,建议他们!

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

https://unix.stackexchange.com/questions/606695

复制
相关文章
URL编码和Base64编码
在理清字符集和字符编码关系一文中我们介绍了常见字符集以及字符编码之间的关系,本期我们继续朝着这个方向介绍常见的编码算法。 URL编码 URL编码是浏览器发送数据给服务器时使用的编码,它是编码算法,而不
木可大大
2018/07/25
3.4K0
URL编码和Base64编码
URL安全的Base64编码
Base64编码可用于在HTTP环境下传递较长的标识信息。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。 然而,标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的「/」和「+」字符变为形如「%XX」的形式,而这些「%」号在存入数据库时还需要再进行转换,因为ANSI SQL中已将「%」号用作通配符。 为解决此问题,可采用一种用于
张善友
2018/01/22
7.1K1
Base64和URL编解码操作
在下载文件的时候有时候文件名称中含有中文名,下载下来后会乱码,所以就对文件名称进行一些编解码操作,来解决乱码。 BASE64编解码(解决火狐浏览器乱码): new BASE64Encoder().encode(需要编码的字节数组) —> 编码 new BASE64Decoder().decodeBuffer(解码内容) —> 解码 URL编解码: URLEncoder.encode(需要编码的内容, “UTF-8”); —> 编码 URLDecoder.decode(需要解码的内容,“UTF
阿年、嗯啊
2021/04/27
1.8K0
Java 图片URL转Base64编码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/05
3.7K0
Java 图片URL转Base64编码
js 根据url 转换图片(base64)
function getBase64(url, callback) { var Img = new Image(), dataURL = ''; Img.src = url + '?v
我乃小神神
2020/04/16
15.5K2
使用url_launcher打开App
1. 添加依赖 dependencies: url_launcher: ^5.4.11 2. openWebView app _launchURL() async { const url = 'http://it200.cn/'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; } } 3. openMap App _
前端小鑫同学
2022/12/24
8440
c++报错无法打开文件_如何打开源文件
一、无法打开文件“xxx.lib” 出现这种错误一般为 ①未添加xxx.lib库文件 ②库添加后,路径不对,找不到对应的库文件路径 解决方案: 先查看库文件是否已经添加 若未添加,右击项目->属性->链接器->输入;将库文件加入即可 如果库文件已经添加,仍然报错,此时需要查看生成的库文件的路径了。 先找到生成库文件的路径,右击项目->属性->常规->查看输出目录是否与生成的库文件的路径是否匹配,若不匹配,修改路径即可。
全栈程序员站长
2022/11/01
10.2K0
php使用Base64加密解密URL地址教程
要知道Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,看好是编码,并不是加密。
李洋博客
2021/06/15
2.5K0
php使用Base64加密解密URL地址教程
Base64码常见操作(url链接文件转base64编码、本地文件转base64编码等)
因为是图片,可以复制输出的base64编码到这个网址验证:https://tool.jisuapi.com/base642pic.html 其他base64操作如下:
共饮一杯无
2022/11/28
2.3K0
Groovy Base64 URL和文件名安全编码
Groovy支持Base64编码很长一段时间。 从Groovy 2.5.0开始,我们还可以使用Base64 URL和Filename Safe编码来使用encodeBase64Url方法对字节数组进行编码。 结果是一个Writable对象。 我们可以在Writable对象上调用toString方法来获得String值。 可以使用添加到String类的decodeBase64Url方法使用相同的编码对编码的String值进行解码。
白石
2019/08/22
1.3K0
Go实战 | url和base64编码原理及应用
大家好,我是渔夫子。今天跟大家聊聊在实际工作中遇到的对密文进行base64编码和url转义的一个案例。
Go学堂
2023/01/31
1.1K0
URL scheme实现携带数据打开小程序
我这里做一个快速的整理思路: 1、鉴权调用接口凭证(access_token) 2、 HTTPS 调用 POST 请求地址:
德宏大魔王
2023/08/08
5560
URL scheme实现携带数据打开小程序
vue网络图片url转Base64「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
4.1K0
iOS打开系统功能对应的URL
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"URLString"]] 关于 iOS 系统功能的 URL 汇总列表: 蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_ID V** — prefs:root=General&path=Network/V** Wi-Fi:prefs:root=WIFI 定位服务:prefs:root=LOCATION_SERVICES 个人热点:prefs:roo
程序员不务正业
2018/06/14
9190
Flutter--在浏览器打开URL
在使用Flutter开发的时候,希望在浏览器中打开URL,而在pub_env中已经存在url_launcher库可以实现该功能。
None_Ling
2021/11/24
2K0
Flutter--在浏览器打开URL
如何使用xurlfind3r查找目标域名的已知URL地址
xurlfind3r是一款功能强大的URL地址查询工具,该工具本质上是一个CLI命令行工具,可以帮助广大研究人员从多种在线源来查询目标域名的已知URL地址。
FB客服
2023/10/06
3320
如何使用xurlfind3r查找目标域名的已知URL地址
通过指定的URL获取返回图片的BASE64编码
之前本来都是通过URL直接显示图片的,后来需求变更前端需要图片的base64,但是现在数据库只有URL,写了个方法通过URL获取图片的BASE64
彼岸舞
2021/05/18
3K0
Filter实现登录后自动跳转目标url
马 克-to-win:下面我们将利用Filter技术完成一个稍微实用一点的需求。需求的内容如下:一言以蔽之,我们就想保护internal目录下的所有 资源,(其他地方不保护)。具体有这么几点:如果用户非法访问internal目录下的资源,就将他导向internal目录下的login.jsp。如 果在login.jsp当中,他输入了正确的用户名和密码,就让他自动跳转到他原来想访问的那个jsp。但如果在一开始,用户直接就想访问 login.jsp,即使他输入了正确的用户名和密码,也只把他导向回根目录的首页index.jsp。这里需求有两个难点。一是自动跳转到他原来想访问 的那个jsp,这需要把他原来想要访问的目标给存在Session当中。想得到他想访问的目标,就用 (HttpServletRequest)hsr.getRequestURI()。马克-to-win:这还不算难。第二个难点就更难。我怎么能知道用 户一开始的目的就是想访问login.jsp,还是用户一开始想访问internal目录里其他的资源而被导到login.jsp的呢?因为 login.jsp也在internal目录里,所以到达login.jsp之前,无论如何要经过Filter。问题好像很困难。这里,我是这样完成这个 需求的:当用户想非法访问internal目录下的任何资源前一瞬间(除了login.jsp自己,这一点你要加判断,desURL.endsWith ("login.jsp"),否则逻辑上会出问题,不信你试试),我在request范围里加上一个标志:illegal。马克-to-win:只有这种 情况,我才加这个标志。这样在login.jsp的正常程序前,我再加一个判断,看是否有这个标志?如果有,就证明用户想非法访问internal目录下 的某个资源。如果没有这个标志,就说明用户一开始就想访问login.jsp。
马克java社区
2021/07/30
1.3K0
C# Base64上传文件
/// <summary> /// base64转换为图片并保存在指定目录中 /// </summary> /// <param name="strbase64">64Base码</param> /// <returns></returns> public static void Base64ToImage(string strbase64) { var encodedImage = strbase64.Split(',')[1]; var decodedImage = Convert.Fr
小语雀网
2021/09/08
9570
点击加载更多

相似问题

目标C中的URL安全Base64

20

转换Base64 GZipped字符串目标-c或Swift

12

目标C中的JavaScript Base64加密url、解密

12

如何在Swift或目标C中从UIImage获取URL?

25

目标-c Base64编码

49
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文