vim定时保存session
把如下代码保存为sess.vim
let g:sname = strftime('.session/%Y_%m_%d__%H_%M_%S.vim')
function! SaveSession(timer)
if !isdirectory(".session")
call mkdir(".session", "p", 0755)
endif
execute "mksession!" g:sname
endfunction
let timer = timer_start(180000, 'SaveSession', {'repeat':-1})
然后在vim中执行
source sess.vim
在json数组中跳转到端点的[]括号
va[
比如光标在d处,按下va[,可以跳转到[]上
[
{a:b},
{c:d}
]
delete hidden buffer
function DeleteHiddenBuffers()
let tpbl=[]
call map(range(1, tabpagenr('$')), 'extend(tpbl, tabpagebuflist(v:val))')
for buf in filter(range(1, bufnr('$')), 'bufexists(v:val) && index(tpbl, v:val)==-1')
silent execute 'bwipeout' buf
endfor
endfunction
然后
:call DeleteHiddenBuffers()
build from source
configure的命令
set -x
make distclean
export LD_LIBRARY_PATH=/tvm/python3.8-compile/python3.8/lib:${LD_LIBRARY_PATH}
export PATH=/tvm/python3.8-compile/python3.8/bin/:${PATH}
export LDFLAGS="-rdynamic"
#vi_cv_path_python=/home/like12/opt/python3.8/bin/python3.8
./configure --prefix=/tvm/vim-install/ --enable-python3interp=yes --with-python3-config-dir=/tvm/python3.8-compile/python3.8/lib/python3.8/config-3.8-x86_64-linux-gnu/ --with-python3-command=/tvm/python3.8-compile/python3.8/bin/python3.8
YouCompleteMe Python指定解释器,跳转到third-party库
在conda环境中比较有用
在你的项目下新建.ycm_extra_conf.py文件,指定解释器路径和third-party库
(torch2) like@a141:~/package/torchmo$ cat .ycm_extra_conf.py
def Settings(**kwargs):
return {
'interpreter_path': '/share_data/users/like/miniconda3/envs/torch2/bin/python',
'sys_path': [
'/share_data/users/like/miniconda3/envs/torch2/lib/python3.10/site-packages/'
]
}
cscope重新加载数据库
:cs reset
python跳转到函数开始和class开始
[[
直接跳到最外层的class或者函数定义,连局部函数的定义都跳过
[m
只跳一次,到最内层函数定义
sipu 自定义文件 .su 被 vim 当作 cuda 文件语法处理
识别 .su 文件为 cuda
cat /data/like/vim-port-all/config/.vim/filetype.vim
au BufNewFile,BufRead *.cl setf opencl
" sioriign su file as cuda file
au BufNewFile,BufRead *.su setfiletype cuda
增加关键字clusterDim clusterIdx
cat /data/like/vim-port-all/config/.vim/after/syntax/cuda.vim
" SiPU-specific CUDA-like built-in variables.
syntax keyword cudaVariable clusterDim clusterIdx
project local: hpp as cuda for sipu project(可选)
sikernel 会把 device code 写在hpp文件,device, blockIdx 等 cuda专属 keyword 在 .hpp 文件没有语法高亮
设置 project local .vimrc
augroup project_cuda_hpp
autocmd!
autocmd BufRead,BufNewFile *.hpp set ft=cuda
augroup END
并在根 .vimr 文件配置:
""" https://akrabat.com/using-vimrc-for-project-specific-settings/
"" vim 每个项目有自己的.vimr配置文件
set exrc
set secure
"" end vim 每个项目有自己的.vimr配置文件
注意:autocmd BufRead,BufNewFile .hpp set ft=cuda可以把hpp当作cuda, autocmd BufRead,BufNewFile .hpp setfiletype cuda没有作用,vim 仍旧显示hpp是cpp 文件,什么原因?
set ft=cuda是强制修改。setfiletype cuda, 先检测文件已经是cpp, 就不会覆盖了,除非原来没有检测到 filetype,再设置成 cuda.