Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session vim文件类型插件与会话冲突 问题_Session_Vim - Fatal编程技术网

Session vim文件类型插件与会话冲突 问题

Session vim文件类型插件与会话冲突 问题,session,vim,Session,Vim,当我从会话恢复时,将无法加载我的文件类型插件 例如,我有一个arduino文件类型插件~/.vim/ftplugin/arduino.vim,内容如下 SyntasticToggleMode call feedkeys("\<CR>") nnoremap <leader>s :w<cr>:ArduinoVerify<cr> nnoremap M :ArduinoUpload<cr> 现在出了问题,我的arduino文件类型插件中的键映

当我从会话恢复时,将无法加载我的文件类型插件

例如,我有一个arduino文件类型插件~/.vim/ftplugin/arduino.vim,内容如下

SyntasticToggleMode
call feedkeys("\<CR>")
nnoremap <leader>s :w<cr>:ArduinoVerify<cr>
nnoremap M :ArduinoUpload<cr>
现在出了问题,我的arduino文件类型插件中的键映射不起作用。 它还打印一些错误消息,如下所示。

处理/home/lotp/.vim/ftplugin/arduino.vim时检测到错误:
第1行:
E492:非编辑器命令:SyntasticToggleMode“sketch_dec06a.ino”“sketch_dec06a.ino”12L,150C
E492:不是编辑器命令:SyntasticToggleMode

实际上,
SyntasticToggleMode
是一个有效的vim命令,属于名为syntastic的vim插件

问题: 有解决这个问题的办法吗? 我的意思是同时使用会话和文件类型插件。

部分答案:

如果使用插件管理器,插件不会直接加载到
.vimrc
。它们的路径只是附加到
'runtimepath'
中,它们在初始化过程的稍后部分被获取

在插件初始化结束后,您可以尝试将自己的自定义路径添加(即在
.vimrc
)到
运行时路径。(即,对于Vundle,在这一行之后:
调用Vundle#end()
),然后在
您的自定义路径/插件中添加一个vim文件,您可以将代码放在该会话文件的源位置

我没有检查我提供的所有信息,很抱歉出错,但希望它能给你一些想法


请参见
:h startup
:h“runtimepath”

最后,我使用vim插件解决了这个问题

这是某种内置vim会话系统的改进版本

它叫

filetype indent plugin on 
if filereadable("Session.vim")
    source Session.vim          
endif         
if filereadable("viminfo")
    rviminfo viminfo
endif