vim 学习系列之(5) — vim 脚本

关键字,命令

  • autocmd

autocmd! BufRead,BufNewFile *.sophimp setfile

  • augroup

  • finish

vim 命令,可以终止此命令后的vim脚本执行

  • did_load_filetypes

did_load_filetypes 并不是vim内置的函数,而是在全局的 filetype.vim 中设置的一个变量,可以通过 :e $VIMRUNTIME/filetype.vim 查看,在加载一次后被置 1

  • getline(1)

读取第一行

  • did_filetype()

内置函数, 如果一个file type相关的事件触发了至少一次,返回true, 可以用作guard, 防止重复触发 file type 事件

  • silent

Buffers, Windows, Tabs

set hidden 禁止提示

:buffers
:buffer + n
:buffer + <tab>
:bdelete + n/<tab>

window 是buffer的显示区域
tab 代表window的layout, 不代表一个文件,关闭tab只是关闭了window layout, 并没有关闭buffer, 一个buffer代表一个文件

// 多个tab打开文件
vim - p file1 file2 file3

global command

:h ex-cmd-index

/g/pattern/command

语法

技巧点

Google Vimscript Style Guide

:help usr_41 命令

如何让vim 与 nvim 使用同一个配置?

将nvim 的执行环境修改成vim 的, 类似于chroot的原理。

打开nvim, 输入 `:help nvim-from-vim` 有帮助文档

1. 创建`~/.config/nvim/init.vim` 文件
2. 添加下例内容到 init.vim
    # ^= 将~/.vim 添加到runtimepath之前,after 是用来覆盖缺省值或增加设置(很少用到),这里实际是没有用到, 对应的还有start 生命周期
    set runtimepath^=~/.vim runtimepath+=~/.vim/after

    # &是取选项值,packpath 是vim 默认插件存放位置, 所有 pack/*/opt/{name}/plugin/**/*.vim 文件都被执行, 这样可以允许"plugin"使用子目录,像 `runtimepath` 里的插件一样。
    let &packpath = &runtimepath

    source ~/.vimrc
3. 重启nvim, 就会加载vim 配置了
  • vim buffer, register

    buffer 管理文件, :buffers 可查看所有缓冲区
    register 管理 复制,剪切,删除等命令的内容, :registers 可以查看所有寄存器。

  • runtimepath

runtimepath下的脚本会执行几次?
给的示例script.vim, 只有在加载不认识类型的文件时会执行。

  • 红色高亮
    红色高亮一般是错误,可以使用下面的函数查看报错信息
:echo synIDattr(synID(line("."),col("."),0),"name")

然后再根据报错信息,全局搜索, 定位到报错脚本。

场景: 在md文件中,下划线一直红色高亮, 使用上述方法输出markdownError, grep -r "markdownError" . 找到是theme_color中有报错,最后安装一个plasticboy/vim-markdown插件解决

版权声明:除特殊说明,博客文章均为Sophimp原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。 由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇