gpt4 book ai didi

linux - 运行! less.sh 中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:24 25 4
gpt4 key购买 nike

使用程序自带的vim分页器。我正在尝试重新映射 less.sh 以从我的主目录运行并从 ~/bin 调用配置。我收到错误:

Error detected while processing command line: E33: No previous substitute regular expression

我认为我的问题是我不理解“运行时!”有人可以解释什么是“运行时!”被用来做什么?

这是/usr/share/vim/vim72/macros/less.sh 中的原始代码行:

if test -t 1; then
if test $# = 0; then
vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' -
else
vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@"

这就是我尝试将 less.sh 放入 ~/bin/less.sh 中的方法:

if test -t 1; then
if test $# = 0; then
vim --cmd 'let no_plugin_maps = 1' -c '~/bin/less.vim' -
else
vim --cmd 'let no_plugin_maps = 1' -c '~/bin/less.vim' "$@"
fi

我通过编辑 .bashrc 别名 vless="~/bin/less.sh"来运行命令

最佳答案

Vim 的 :runtime 命令从基于 'runtimepath' 选项中的目录之一的文件中读取并解释 Vim 命令。由于大多数 Vimscript 文件要么随 Vim 本身一起提供,要么安装在用户的 ~/.vim/ 目录中,因此这是调用脚本的便捷方法。

该命令是 :source {filespec} 的特化,这是您需要使用的;文件规范本身不是有效的 Vim 命令,Vim 尝试将其解释为模式,并偶然发现了 ~ 字符。

vim --cmd 'let no_plugin_maps = 1' -c 'source ~/bin/less.vim' -

甚至还有一个快捷方式 -S 命令行选项:

vim --cmd 'let no_plugin_maps = 1' -S '~/bin/less.vim' -

关于linux - 运行! less.sh 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24900972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com