it_*_*ure 8 python tags vim autocomplete tcl
环境现状:debian8 + vim8.
filetype在.vimrc和vim/runtime/ftplugin/python.vim中都处于启用状态.
cat .vimrc
execute pathogen#infect()
execute pathogen#helptags()
syntax on
filetype plugin indent on
cat vim/runtime/ftplugin/python.vim
setlocal omnifunc=pythoncomplete#Complete
filetype plugin indent on
"other lines omitted.
Run Code Online (Sandbox Code Playgroud)
有些问题困惑我.
1.on omni completion
1.1模块中
的类名可以完成模块中的类或方法.
1.2内置函数名称
import sys
for key,value in enum
Run Code Online (Sandbox Code Playgroud)
要按ctrlxctrlo,没有enumerate弹出,为什么内置函数名称无法完成ctrlxctrlo?
2.tag完成
没有为python文件准备的标记文件,没有ctags -R *为任何python文件执行.
vim从什么时候开始ctrlxctrl]编辑这些关键字test.py?
要输入filtest.py并调用omni completion with ctrlxctrlo,不会弹出omni completion菜单.
要输入filtest.py并调用标记完成ctrlxctrl],将弹出标记完成菜单.
grep -lr 'fileAttrStringsProc' /usr/include/
/usr/include/tcl8.6/tcl-private/generic/tcl.h
/usr/include/tcl8.6/tcl.h
grep -n 'fileAttrStringsProc' /usr/include/tcl8.6/tcl.h
1805: Tcl_FSFileAttrStringsProc *fileAttrStringsProc;
Run Code Online (Sandbox Code Playgroud)
对于游行的keyowrd file_handle,
grep -lr 'file_handle' /usr/include/
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
grep -n 'file_handle' /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
311:struct file_handle
403: struct file_handle *__handle, int *__mnt_id,
410:extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
Run Code Online (Sandbox Code Playgroud)
keyowrd file_handle在ac文件中.
2.1 tcl关键字弹出
为什么tcl中的关键字会在为python调用标记完成时弹出?
2.2 c关键字弹出
为什么弹出c文件中的关键字什么时候为python调用标签完成?
3.哪个文件控制标签完成的行为?
这里的文件/ vim/runtime/autoload/pythoncomplete.vim控制omni完成的行为.
哪个文件控制标签完成的行为?
为什么没有任何python文件的标签文件,按ctrlxctrl]输出标签完成菜单?