Vim

解决python 的ycm跳转不好使

resolve python ycm not work

qwding

3 minute read

年前折腾很久,终于把golang vim折腾好了,结果发现python ycm不好使了,很头痛 今天解决了,记录下过程 查阅日志,进入到vim进行跳转操作,输入命令YcmDebugInfo,打印出来信息,及日志存储位置 查阅日志,发现报了Max retries exceeded with url: /ready ,并且发现1的日志的server端口和这个访问的端口不同 查阅issue,发现有人在linux下编译是不支持anaconda版本python的,是不是我mac 的 python版本选择有问题? 再次查阅日志,发现server和vim用的不是一个python版本,于是在vimrc里同时配置了 let g:ycm_python_binary_path = ‘/usr/local/bin/python2.7’ let g:ycm_server_python_interpreter = ‘/usr/local/bin/python2.7’ 编译后发现好使了,很开心,但是出现另一个问题,系统经常报python崩溃了… 我也快崩溃了 改用python3编译,虽然编译时候还是报了一个require 3.3我用的是3.6,但是编译完后发现好使了,也没有报python崩溃 贴下现在配置 if &compatible set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限 end set rtp+=~/.vim/bundle/Vundle.vim call vundle#rc() Bundle ‘VundleVim/Vundle.vim’ Bundle ‘Valloric/YouCompleteMe’ Bundle ‘dyng/ctrlsf.vim’ Bundle ‘kien/ctrlp.vim’ Bundle ‘scrooloose/nerdtree’ Bundle ‘scrooloose/syntastic’ Bundle ‘altercation/vim-colors-solarized’ Bundle ‘majutsushi/Tagbar’ Bundle ‘vim-airline/vim-airline’ Bundle ‘vim-airline/vim-airline-themes’ " 括号成对跳转 % 跳转 Bundle ‘tmhedberg/matchit’ " 多光标操作 Bundle ‘terryma/vim-multiple-cursors’ " , = 对齐 Bundle ‘godlygeek/tabular’ " 自动补全括号 Bundle ‘jiangmiao/auto-pairs’ " 多层括号变色 Bundle ‘luochen1990/rainbow’ " 保存vim编辑信息,比如最后的位置 Bundle ‘vim-scripts/restore_view.

用vim写golang踩坑

write golang in vim

qwding

1 minute read

vim 写golang碰到的爽点 自从转到了vim写golang, 越用越觉得舒服,几个爽点IDE媲美不了 返回上次动作地方,无论是跳文件还是跳操作行,都可以直接返回上次操作的地方,极舒服 根本不需要鼠标,不用写代码还感觉食指高度使用的难受了 可以装逼了 不爽 每摄入一门语言配环境是最折腾的,就像我的python环境还没配好,还用pycharm写呢 写golang时候居然有的不能跳转pkg 自动补全时候居然每次会卡1~2秒左右,不能忍啊! 不能跳转到pkg 开始以为是ctags的问题,但是发现有些pkg我并没有生成tags文件,但是还是能跳转过去,感觉ctags并不是我跳转的方式 仔细阅读vim-go,发现是gocode配合YCM跳转的,那就去读gocode文档,发现不得了的事情 gocode居然跳转是需要pkg生成相应的 .a 文件,深坑! 由于公司依赖很多都是Cgo写的,mac本地根本不可能编译一些pkg,自然就没有 .a 文件,而且查看issue说这个是一直诟病的问题 解决答案就是:我还解决不了!还好,就几个pkg,可以忍忍 自动补全卡1~2秒 之前以为是YCM的锅,后来发现写python 自动补全流畅的一逼,这锅YCM不接 那肯定出再了golang插件 运行一些神奇的命令调试 :profile start profile.log :profile func * :profile file * " At this point do slow actions :profile pause :noautocmd qall! 结果如下 FUNCTIONS SORTED ON TOTAL TIME 1264 count total (s) self (s) function 1265 21 4.449469 0.009312 <SNR>81_OnTextChangedInsertMode() 1266 18 4.

转战vim

my vim config

qwding

3 minute read

转战vim 环境改变人,周围有些用vim,并且感觉编码爽的飞起,于是决定转战vim 之前已经铺垫了几个月了,特意温习些快捷键,并且工作中联系使用,最近开始折腾IDE, 并且开始投入正式使用 折腾过程 先选择了大神spf13的配置, 然而,使用并不是很顺利,装上以后加载插件过多,打开大文件,和YCM自动补全延迟高,拉低了效率。并且很多插件真的并不会用到,比如说里面还有rails插件等。 于是果断放弃了spf13的配置,自己搞自己需要的。 安装bundle管理 git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 贴出配置 if &compatible set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限 end filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#rc() Plugin ‘fatih/vim-go’ Bundle ‘undx/vim-gocode’ Bundle ‘Valloric/YouCompleteMe’ Bundle ‘dyng/ctrlsf.vim’ Bundle ‘kien/ctrlp.vim’ Bundle ‘scrooloose/nerdtree’ Bundle ‘altercation/vim-colors-solarized’ Bundle ‘tpope/vim-fugitive’ " Bundle ‘Yggdroot/indentLine’ Bundle ‘tmhedberg/matchit’ Bundle ‘Lokaltog/vim-easymotion’ Bundle ‘scrooloose/syntastic’ Plugin ‘nvie/vim-flake8’ " ‘tpope/vim-fugitive’ git 插件 " ‘dyng/ctrlsf.vim’ 搜索插件 " ‘Yggdroot/indentLine’ python 缩进线, 会有一点点卡 " ‘tmhedberg/matchit’ 括号成对跳转 % 跳转 " ‘Lokaltog/vim-easymotion’ 光标记录跳转 let g:solarized_termcolors=256 syntax enable set background=dark colorscheme solarized set guifont=Monaco:h13 set mouse=a " 鼠标滚动 set nu " 行号 filetype on " 检测文件的类型 set autoindent " vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进) set tabstop=4 " tab 4空格 set showmatch " 设置匹配模式,类似当输入一个左括号时会匹配相应的右括号 set incsearch " 搜索时候定位 set ic " 搜索不区分大小写 set hlsearch " 搜索高亮 set cursorline " 突出显示当前行 " set clipboard=unnamed " 系统剪切板 set confirm " 没有保存或文件只读时弹出确认 set autoread " 文件自动检测外部更改 " NERDTree 配置 map <C-e> :NERDTree <CR> " YCM 配置 let g:ycm_min_num_of_chars_for_completion=1 " 补齐字符数 let g:ycm_complete_in_strings = 1 " 字符串中也开启补全 " inoremap <expr> <CR> pumvisible() ?