如何在会话自动加载的同时在 vim 中打开文件?

2024-04-30

我在 .vimrc 中有以下代码,可以在 vim 启动时自动保存/加载会话:

" Session saving
" Automatically save / rewrite the session when leaving Vim
augroup leave
        autocmd VimLeave * mksession! ~/.vim/session.vim
augroup END

" Automatically silently load the session when entering vim
autocmd VimEnter * silent source ~/.vim/session.vim

哪个工作正常,我遇到的唯一问题是当我想创建新文件或打开现有文件时:

vim test.txt

在这种情况下,文件不会打开,而是加载了最后保存的会话。

所需的行为如下。当我跑步时vim没有参数 - 它恢复上一个会话。如果我提供文件参数,例如vim test.py- 它加载最后一个会话并在新选项卡中打开/创建提供的文件。 怎么做?理想情况下没有任何插件。


应该是这样的:

" use ++nested to allow automatic file type detection and such
autocmd VimEnter * ++nested call <SID>load_session()

function! s:load_session()
    " save curdir and arglist for later
    let l:cwd = getcwd()
    let l:args = argv()
    " source session
    silent source ~/.vim/session.vim
    "restore curdir (otherwise relative paths may change)
    call chdir(l:cwd)
    " open all args
    for l:file in l:args
        execute 'tabnew' l:file
    endfor
    " add args to our arglist just in case
    execute 'argadd' join(l:args)
endfunction
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在会话自动加载的同时在 vim 中打开文件? 的相关文章

随机推荐

  • 拉维尔 |如何使用多个属性执行搜索

    我正在创建属性网站 并且正在使用多个属性进行搜索 但问题是在搜索控制器中我有非常大的代码并且非常难以处理 laravel 中是否存在其他解决方案 list property Listing property where property t
  • Python:将字典转换为字节

    我正在尝试将字典转换为字节 但在将其转换为正确的格式时遇到问题 首先 我尝试使用自定义架构映射字典 模式定义如下 class User def init self name None code None self name name sel
  • RESTful API 应该有架构吗?

    最近有人告诉我 一个合适的 RESTful API 应该为其接受和返回的资源表示定义一个模式 例如 用于 XML 的 XSD 和用于 JSON 的 JSON 架构 然而 在我读过的所有关于 REST 的书籍和文章中 这一点似乎不仅没有突出
  • 将 TPopupMenu 与窗体的右侧对齐?

    TPopupMenu 如何与窗体的右侧对齐 问题是 在调用之前似乎没有办法获取弹出菜单的宽度Popup X Y Integer 我正在尝试获得与 Chrome 中的系统菜单类似的行为 你也可以只设置Alignment http docwik
  • 引导表上的滚动条

    I have table渲染在一个panel这是在一个modal 由于表格相对较大 我想将其行数限制为 5 行 以便模式不会滚动 我浏览了 SO 和谷歌 到处都看到我需要设置overflow y auto or overflow y scr
  • linq按顺序插入元素的方法

    我有一个按元素的 Name 属性排序的元素集合 我需要在保持顺序的同时将新元素插入集合中 我正在寻找一种简洁的 LINQ 方法来做到这一点 我的代码如下 this Children 是集合 d 是我需要插入的新元素 需要两次遍历集合才能找到
  • Datatables.net 与 ReactJS,在列中渲染 ReactJS 组件

    我有以下带有数据表的组件 import React Component from react import Link from react router import PanelContainer Panel PanelBody Grid
  • 隐式参数解析——设置优先级

    我正在尝试创建一个类型类Default为给定类型提供默认值 这是我到目前为止所想到的 trait Default A def value A object Default def withValue A a A new Default A
  • 按应用于 Pandas 中同一列的条件进行计数

    这是我的数据框 acc index veh count veh type 001 1 1 002 2 1 002 2 2 003 2 1 003 2 2 004 1 1 005 2 1 005 2 3 006 1 2 007 2 1 007
  • Tensorflow:使用 Adam 优化器

    我正在张量流中试验一些简单的模型 包括一个看起来与第一个非常相似的模型面向 ML 初学者的 MNIST 示例 http www tensorflow org tutorials mnist beginners index md 但维数稍大一
  • 有没有办法根据分组值一次生成多个 x-y 散点图,并按第三个变量排序?

    我有多级数据 组级别是个人 由id指定 变量索引表示不同的时间点 有没有办法为每个人制作单独的散点图 x 与 y 全部显示在同一输出中 并根据第三个变量 z 排序 如果是这样 可以添加颜色来指示第三个变量 z 的程度吗 数据如下 谢谢 gt
  • 如何在blob存储中创建文件夹

    我有一个文件 例如Parent zip解压后 它将产生以下文件 child1 jpg child2 txt child3 pdf 跑步时Parent zip通过下面的函数 文件被正确解压到 some container child1 jpg
  • 错误:无法找到“async”修饰符所需的所有类型。您是否定位了错误的框架版本,或者缺少对程序集的引用?

    我的电脑配置如下 视窗8 视觉工作室2012 NET框架4 5 我的项目配置是 WP 7 1 银光4 0 NET框架4 0 CTP ASYNC 已安装 使用 async 和await 关键字 该项目是在Windows 7机器上使用VS201
  • 根据函数 R 中的 dot dot 获取变量参数的名称(解析)

    我正在创建一个基于一些虚拟变量的自动绘图仪 我这样设置 plotter lt function 将绘制我喂它的所有假人 但是 我希望它能够向绘图添加标签 即变量名称 我确实知道 deparse substitute variablename
  • 如何编写返回 Validation 的函数?

    这是我之前的后续question https stackoverflow com questions 30527740 composing validating functions in scala 假设我有两个验证函数 如果输入有效则返回
  • 消息传递功能创建 Sql 查询和数据库视图

    鉴于以下情况 我需要能够获取给定用户参与的所有线程的列表 首先按最新消息排序 仅显示最新消息 每个线程 1 条消息 这是上面的 SQL 查询 SELECT Message MessageId Message CreateDate Messa
  • Jena tdb 中的事务发生错误?

    我正在尝试将属性写入模型 然后查询它 我的代码的这一部分 String directory EMAILADDRESS create the dataset for the tdb store Dataset ds TDBFactory cr
  • 从补丁文件中删除对特定文件的更改

    我有一个更改了许多文件的补丁文件 它意外地包含了对某些不应该更改的文件的更改 我可以手动从补丁中删除所有提及这些文件的内容 以生成正确的补丁文件 但这是一个繁琐的过程 如何以编程方式 标准 nix 工具 从补丁中删除所有提及文件的内容 注意
  • 对于缺少基线点的重复 ID,从基线进行更改

    对于缺少基线点的重复 ID 从基线进行更改 类似的问题已被提出并回答如下 重复 id 相对于基线的变化 https stackoverflow com questions 31619437 change from baseline for
  • 如何在会话自动加载的同时在 vim 中打开文件?

    我在 vimrc 中有以下代码 可以在 vim 启动时自动保存 加载会话 Session saving Automatically save rewrite the session when leaving Vim augroup leav