加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux vim函数跳转,vim配置md文件跳转

发布时间:2022-10-26 14:31:36 所属栏目:Linux 来源:未知
导读: # 介绍
自己在使用vim进行`markdown`文件编辑的时候,虽然为vim安装了`markdown`的预览插件,并且配置了适合自己的vim编辑快捷按钮,但是对于多个markdown文件组成的笔记,很难定位到需要编

# 介绍

自己在使用vim进行`markdown`文件编辑的时候,虽然为vim安装了`markdown`的预览插件,并且配置了适合自己的vim编辑快捷按钮,但是对于多个markdown文件组成的笔记,很难定位到需要编辑的文件,为了解决这个问题,在这里有下面这个流程来说实现。

1. 新建`SUMMARY.md`文件,该文件做为目录文件,文件格式如如下:

```

* [run](run.md)

* [md使用](md使用/md使用.md)

* [md常用语法](md使用/md常用语法.md)

* [linux](linux/linux.md)

* [vim配置](linux/vim配置.md)

* [vim配置md文件跳转](linux/vim配置md文件跳转.md

```

2. 为markdown文件编辑时写一个跳转函数,并配置快捷键,实现在`SUMMARY.md`处选对应目录行后调用函数,新建指定文件或者打开已经存在的文件进行修改,该功能实现如下所示:

```vim

func! Mdgoto()

"当只有当前编辑文件为 SUMMARY.md时才执行后面的内容

if expand('%:t') != 'SUMMARY.md'

return

endif

"获取光标当前行的字符

let currentLine = getline(".")

”获取光标当前行的字符的字符数

let len = strlen(currentLine)

"echo currentLine

"获得当前行括号中的字符内容,做为对应的文件名

let a1= stridx(currentLine, '(') + 1

let a2= stridx(currentLine, ')') - 1

let a3 = a2-a1+1

if a3 > 0

let sub=strpart(currentLine,a1,a3)

endif

"打开这个文件,如果不存在文件则创建,否则直接打开编辑

linux vim配置教程_linux的vim怎么配置_linux vim配置文件

exec "vsp " .sub

"调整打开后新文件的窗口占用屏幕大多数空间

vertical res +200

endfunction

"配置上述函数执行的快捷键为 ctrl+]

autocmd Filetype markdown map :call Mdgoto()"

"配置编辑markdown文件是 Ctrl+q为保存当前文件并退出当前文件

autocmd Filetype markdown map :wq"

```

**需要注意的是:** 上述快键键要能生效,首先你的文件一定要是`markdown`文件,其次函数要能执行,你的文件名一定要是`SUMMARY.md`,最后是你的`SUMMARY.md`文件必须是上面示例的格式,并且不能有空行出现,当空行出现时,我们同步到看云时,这个生成目录为出现问题。

# 效果

![Image]()

![Image]()

# 补充说明

刚开始的时候使用的是shell写的`run`脚本读取`SUMMAR.md`文件linux vim配置文件,根据文件内容在生成对应的markdown文件,这中方式使得我每次修改了`SUMMARY.md`文件后都要执行一次`run`脚本,所有不太方便。

而是用上面提到的方法,可以不在依赖额外的shell脚本,直接使用快捷键完成新建文件和打开已有的`markdown`文件,并且能够实现从目录文件跳转到指定目录的文件下进行编辑!

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!