在新的(GUI)窗口中打开 vim 选项卡?

2024-03-25

我想将当前选项卡移动到 MacVim 中的新(视觉/真实)窗口中。

这可能很困难,因为:

  • vim 帮助中没有任何内容,只有很少的 - 没有帮助 - 在 google 上点击
  • MacVim 不支持它(link http://code.google.com/p/macvim/issues/detail?id=213, 2009)

所以我想知道是否有人找到了实现这一目标的方法?


我认为你能想到的最接近的是使用mksession

This will有几个缺点(例如,最初辅助会话将打开比最终所需更多的缓冲区)。 然而,它will保留您的映射、设置、历史记录、窗口布局(如果当前选项卡中有多个窗口,它们都会被克隆)。

如果这个想法让您感兴趣,您可以考虑创建一个脚本,该脚本将从会话文件中过滤掉某些部分(这是 Yust Another Vim Text Script)

:mksession! $HOME/detach.vim
:tabclose
:silent! !gvim remote --servername Detach -nR +'silent! source H:\detach.vim' +tabonly
  1. 保存所有当前窗口、映射、设置(:he mksession)
  2. 关闭我们要分离的选项卡
  3. clone the session (detach.vim) into a remote vim
    • :silent! (尽量不要说太多)
    • !gvim remote --servername Detach; 启动一个新的远程 Vim 服务器(如果尚不存在),或者与名为的现有服务器通信Detach
    • -nR TODO Fix 这是为了避免使用交换文件(因为我发现没有办法抑制可怕的ATTENTION消息[1])。然而,根据您的情况,这可能是不安全的建议,这就是为什么我也包括-R用于只读模式
    • +'silent! source H:\detach.vim' +tabonly-- 在远程 vim 中,获取要克隆的会话,并仅保留活动选项卡(已在步骤 1 中关闭)。

A little rough around the edges, for sure, but quite close to what you intended, I feel. If you are comfortable, you can drop the -nR flags and just click through a few annoying swapfile attention messages (keyboard: Q).

[1] :he ATTENTION


后期脚本:

  • 在 Windows 上您可能想要使用:silent! !start /b gvim ....如果你有终端窗口
  • 同样在 Windows 上,如果生成的 gvim 窗口太小,您可能会遇到烦人的行为。这:simalt ~x序列是最大化窗口的一种巧妙方法(假设是英语用户界面,因为x是马云的加速器ximize)
  • 锦上添花的是,vim 7.3 具有“持久撤消”功能。参见例如:se undofile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在新的(GUI)窗口中打开 vim 选项卡? 的相关文章

  • Vim 滚动时保持光标位置

    有没有办法在滚动时使 Vim gVim 中的 cusror 位置保持在屏幕外 与许多 Windows 编辑器类似 我了解标记 并且确实使用它们 我也知道 标记 最后编辑位置 但正在寻找其他想法 我问这个问题是因为有时我想将光标保留在某个位置
  • vim 中项目列表的智能硬包装

    我喜欢 vim 而且我真的很喜欢在写文字时将它们硬包装起来 Tim Pope 的 markdown 插件很棒 并且构建得当我尝试硬包装项目列表时它可以正确完成工作 好吧 这就是我所说的正确完成工作的意思 here I write a lon
  • 如何只在当前行进行搜索和替换?

    I see 如何在特定行中搜索和替换 https stackoverflow com questions 17319557 search and replace in vim in specific lines 按行号指定 以及如何使用当前
  • Vim:用字符填充行

    如何在一行或多行末尾重复添加字符 将行填充到特定列 例如 x 代表第 40 列 不是该行上的字符 并且文本后没有空格或制表符 line one x line two x line three x line eleventy billion
  • 如何在vim中每隔几行添加一行

    我想使用 vim 编辑器在文件 大约 1000 行 中每 3 行添加一行 有人可以帮我吗 谢谢 艾丽莎 有一个 vim 特定的正则表达式可以做到这一点 s n n n 0 r g s 是 vim ex 命令来替换整个文件 n 是包含行尾的一
  • Emacs Evil“重复”(点)行为

    我的中有以下行 emacs define key evil normal state map M j lambda interactive evil next line 5 这使得文件中的导航变得更加容易 例如 与M j我在下面 5 行 所
  • vim 脚本:如何在 vim 函数中执行命令

    为什么会出现以下情况 let s colorschemes synic ir black let s colorscheme idx 0 function RotateColorscheme let s colorscheme idx 1
  • 为什么 "map! :q " 在 vi​​m 中不起作用?

    I input map
  • 你能让 vi 在打开时“前进”屏幕吗?

    我经常在 vi 中工作 暂停 vi 在 cli 上运行一些东西 然后返回到 vi 来处理结果 例如 修复运行 cli 命令时出现的错误 但是 当我 fg vi 时 vi 会 擦除 当前终端缓冲区 并且我在回滚缓冲区中看不到终端输出的 最后一
  • VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我尝试使用 Visual Studio 而不是 VIM 插件 但说实话 VS 相对于 VIM 的唯一优势是它能够自动管理我的项目 我知道 VS
  • 当vim进入可视模式时运行命令

    我使用一个小脚本来触发插入模式以更改行号颜色 function CursorLineNrColorInsert mode Insert mode blue if a mode i highlight CursorLineNr ctermfg
  • 在 VIM 中缩进文件夹中的所有文件

    我有一个包含数百个 TTL TeraTermLanguage 文件的文件夹 现在我想缩进所有这些文件 我已经创建了用于缩进的 teraterm vim 并使用 VIM 打开一个文件并执行 gg G 整个文件得到了正确的缩进 但是有什么方法可
  • Foldmethod=同时标记和语法?

    同一文件是否可以根据标记和语法使用折叠 Since foldmethod一次只能设置为一个 我认为您真正可以做到这一点的唯一方法是使用 set foldmethod expr并与foldexpr 即使如此 我也不确定它是否能够完全按照您的要
  • vim - 如何删除 netrw?

    我正在测试https github com skwp dotfiles https github com skwp dotfiles 不幸的是它确实安装了很多我不想要的东西 例如 现在 使用空的 vimrc 当我打开 vim 时 我得到 N
  • 如何使用 tmuxinator 在 tmux 中拆分水平窗格内的两个垂直窗格

    目前我的 tmuxinator yml 文件中有这个 windows editor layout main horizontal panes vim server rails s 这给了我两个窗口 一个用于编辑器 另一个用于服务器 在编辑器
  • 如果文件类型 == tex

    如果文件是乳胶文件 我想在 vimrc 中运行命令 我想我的语法有问题 但它不起作用 有什么线索吗 if filetype tex set spell endif 您可以使用自动命令来实现您想要的 autocmd BufNewFile Bu
  • git 提交消息的 vim 语法高亮显示 - 自定义 commentchar

    如上所述在这个答案中 https stackoverflow com a 14931661 835945 从 Git 1 8 2 开始你可以使用core commentchar配置值将提交消息注释更改为默认值以外的其他内容 哈希标记或哈希符
  • Linux 上 的默认键绑定是什么? Mac 将此绑定到命令

    Vim 的一些示例设置 例如janus https github com carlhuda janus 将命令键绑定到某些命令 例如 Command Shift F for Ack map
  • Vim 函数插入带有传递参数的静态文本

    背景 I m interested in writing a function that assigned to keyboard shortcut s when invoked would 采取用户参数 计算值反映80 string le
  • 在后台从 gVim 运行 :make

    我在 Windows 中使用 gVim 来编辑我的代码 主要是 C 我在 gVim 中使用 make 来编译项目 但这是一个阻塞操作 在编译完成之前我无法使用 gVim 我怎样才能异步执行 make 并仍然获得将错误读回 Vim 并跳转到源

随机推荐

  • C# 中 RAM 耗尽时会发生什么?

    我不是计算机专家 所以让我尝试更具体地提出这个问题 我做了一些科学计算 计算有时需要大量内存来存储结果 几天前 我的输出文件占用了 4 GB 的硬盘空间 但我有这么大的 RAM 所以 当您运行的程序分配的内存多于计算机中可用的内存时 CLR
  • 如何将毫秒转换为日期字符串?

    我从服务器得到一个毫秒字符串 如下所示 1345623261 我如何将其转换为正常的日期格式 例如2012 年 8 月 30 日 我尝试使用setMilliseconds 像这样 new Date setMilliseconds time
  • 用不同的猜名称猜数字游戏

    这是我第一次使用 stackoverflow 进行访问 我是编程新手 正在学习 Python 初学者课程 很高兴开始 我们的第二个作业要求我们创建著名的猜数字游戏 对于那些已经了解这个游戏的人 我希望对添加到其中的额外部分提供一些帮助 我们
  • Robolectric junit 测试 - 缺少互联网许可

    我正在为 ma 应用程序开发一些 JUnit 测试 我需要使用 Robolectric Roboguice 库 我现在想做的只是简单的测试 检查 Activity 是否不为空 这是我的代码 RunWith RobolectricGradle
  • VS 解决方案文件的 Windows 资源管理器上下文菜单中的“构建”项?

    我想知道为什么默认情况下不集成它 我希望在 VS 解决方案文件的 Windows 资源管理器的文件上下文菜单中有一个项目来构建它 有这个工具吗 或者我必须自己创建这个 MSBuild Shell 扩展已经存在多年了 http msbuild
  • Jackson 反序列化抽象类

    我正在尝试使用 JSON ObjectMapper 反序列化对象 尝试反序列化时我看到以下错误 com fasterxml jackson databind JsonMappingException 无法构造 com phoenix typ
  • 如何隐藏微调器下拉菜单android

    我想隐藏外部点击时弹出的微调提示 如果提示弹出窗口打开并且用户按主页键活动将最小化 因此当用户再次打开应用程序时 提示弹出窗口应该消失 有什么办法可以实现这一点吗 谢谢 编辑 提示弹出窗口未自定义 所以我不能把它们藏起来onPause or
  • 为什么 Postgres 复制流在单独的函数中使用时不起作用?

    我正在研究 postgres 复制流 API 在处理它的过程中遇到了异常行为 当我使用复制槽在主块内编写整个代码时 一切正常 public class Server implements Config public static void
  • 如何使用LocalBroadcastManager?

    如何使用 定位LocalBroadcastManager如中所述谷歌文档 http developer android com reference android support v4 content LocalBroadcastManag
  • 我可以按顺序链接异步任务吗(在上一个异步任务完成后开始一个)

    每次我做一个httpRequest 当代码执行时 屏幕会被锁定几秒钟 因此我用了AsyncTask做我所有的httpRequest东西在一个单独的线程 同时提出ProgressDialog所以用户知道发生了什么事 我最近遇到了以下情况 我的
  • 角-聚合物相互作用

    我计划尝试 AngularJS 中的一个项目 其中所有组件都将使用 Polymer 开发 在开始这个项目之前 我有几个疑问 使用 Angular 服务获取数据后 我可以更新 Polymer 组件数据模型 也可以通过 UI 吗 如果是 那么如
  • 之前和之后的样式输入范围

    我正在关注这个方法 http css tricks com styling cross browser compatible range inputs css 来自 CSS Tricks 来设置输入范围的样式 并尝试使用之前和之后的伪类 下
  • Breeze JS - 带有 EFContextProvider 的存储库,启用/禁用 OData 过滤

    我正在寻找使用微风 EFContextProvider 实现存储库模式 在此存储库中 我将公开一种使用 OData 过滤来查询数据库的方法 就像默认情况下微风的行为一样 我还想公开一个忽略 OData 过滤的方法 并返回一个元素列表 就好像
  • 检测所有摄像头android

    我有一个使用 Camera2 API 来获取相机预览的应用程序 我想在手机的镜头之间进行选择 在我的代码中 我使用以下代码 CameraManager manager CameraManager activity getSystemServ
  • 按数字顺序对目录中的文件进行排序和列出

    这是我的文件夹结构 home files encounters 9 22 11 0 jpg home files encounters 9 22 11 n jpg puts Dir glob home files jpg 0 当我执行上面的
  • Money_format() 选项

    我正在查看 php 中的 Money format 函数 并对如何让它按照我想要的方式格式化感到困惑 我不想在字符串前面有 USD 我想要每 3 位数字和 2 位小数点有一个逗号 因此 12345 67 将被格式化为 12 345 67 T
  • 如何创建接受可变数量参数的 Java 方法?

    比如Java自己的String format 支持可变数量的参数 String format Hello s ABC d World 123 gt Hello World ABC 123 如何创建自己的函数来接受可变数量的参数 后续问题 我
  • 如何将动态对象转换为 JSON 字符串 C#?

    我有以下从第三方库获得的动态对象 IOrderStore os ss GetService
  • 如何在 Node.js 中存储请求级变量?

    对于只需要在单个请求期间可用的数据 应该将其存储在哪里 我正在 req 和 res 对象上创建新属性 因此我不必将数据从一个函数传递到另一个函数 req myNewValue just for this request 进程对象是一个选项吗
  • 在新的(GUI)窗口中打开 vim 选项卡?

    我想将当前选项卡移动到 MacVim 中的新 视觉 真实 窗口中 这可能很困难 因为 vim 帮助中没有任何内容 只有很少的 没有帮助 在 google 上点击 MacVim 不支持它 link http code google com p