set tags=tags~;,tags~
"setting gf (go file) path
-set path+=/usr/include/c++/*,include;,includes;,lib;
+"change kernel version to your version, for kernel development
+set path=.,lib;,include;,includes;
+set path+=/lib/modules/5.4.46-1-lts/build/include
+set path+=/lib/modules/5.4.46-1-lts/build/arch/x86/include
+set path+=/usr/include,/usr/include/c++/*
+
" Writes to the unnamed register also writes to the * and + registers. This
" makes it easy to interact with the system clipboard
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
let g:ycm_enable_diagnostic_signs = 0
let g:ycm_always_populate_location_list = 1
+"let g:ycm_show_diagnostics_ui = 0
+let g:ycm_add_preview_to_completeopt = 1
+let g:ycm_autoclose_preview_window_after_completion = 1
+let g:ycm_auto_hover = 'no'
let mapleader = " "
nnoremap <C-h> <C-w>h
def Settings(**kwargs):
- return {'flags': ['-I.', '-Ilib', '-Iinclude', '-Iincludes']}
+ return {'flags': [
+ '-I.',
+ '-I/usr/include/',
+ '-Ilib',
+ '-Iinclude',
+ '-Iincludes',
+ '-I../include',
+""" flags for kernel code
+ '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include',
+ '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/generated',
+ '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/generated/uapi',
+ '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/uapi',
+ '-I/lib/modules/5.4.46-1-lts/build/include',
+ '-I/lib/modules/5.4.46-1-lts/build/include/generated/uapi',
+ '-I/lib/modules/5.4.46-1-lts/build/include/uapi',
+ '-include/lib/modules/5.4.46-1-lts/build/include/linux/kconfig.h',
+ '-D__KERNEL__',
+ '-DMODULE',
+ '-DCONFIG_64BIT',
+ '-DCONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES',
+ '-DCONFIG_TREE_RCU',
+ '-DCONFIG_HZ=100',
+ '-DCONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK',
+"""
+ ]}