配置vim作为python的ide

vim8.1安装方法:
参考https://vimjc.com/install-vim-and-vimcdoc.html
其中配置命令:
./configure --with-features=huge
–enable-multibyte
–enable-rubyinterp=yes
–enable-python3interp=yes
–with-python-config-dir=~/.conda/envs/r0.3.0/lib
–enable-luainterp=yes
–enable-gui=gtk2
–enable-cscope
–prefix=/mnt/lustre/menglingxuan/vim/vim2
其中~/.conda/envs/r0.3.0/lib对应libpytho3.so,–prefix对应安装文件夹。

查看当前vim的配置文件的位置

1.vim后输入:version,可以看到user vimrc file的位置,这里就是配置文件的位置

安装方法

按照 https://github.com/amix/vimrc安装

使用方法:

NERDTree:

使用方法:https://github.com/preservim/nerdtree/blob/master/doc/NERDTree.txt
配置选项

 let g:NERDTreeWinPos = "right"               #文件窗口放在右边                                  
 let NERDTreeShowHidden=0                   #是否显示隐藏文件                                   
 let NERDTreeIgnore = ['\.pyc$', '__pycache__']    #NERDTre需要忽略哪些文件                   
 let g:NERDTreeWinSize=35                      #设置显示的窗口大小                              
 map <leader>nn :NERDTreeToggle<cr>       #使用,nn相当于执行:NERDTreeToggle+Enter                                                  
 map <leader>nb :NERDTreeFromBookmark<Space>                                                      
 map <leader>nf :NERDTreeFind<cr>  

bufexplorer

 """"""""""""""""""""""""""""""
 " => bufExplorer plugin
 """"""""""""""""""""""""""""""
 let g:bufExplorerDefaultHelp=0
 let g:bufExplorerShowRelativePath=1
 let g:bufExplorerFindActive=1
 let g:bufExplorerSortBy='name'
 map <leader>o :BufExplorer<cr> #,o可以显示缓存中的文件

ctrlP

对文件缓冲区进行查找,参考https://vimjc.com/vim-ctrlp-plugin.html

 
 """"""""""""""""""""""""""""""
 " => CTRL-P
 """"""""""""""""""""""""""""""
 let g:ctrlp_working_path_mode = 0
 
 let g:ctrlp_map = '<C-f>'
 map <leader>j :CtrlP<cr>
 map <C-b> :CtrlPBuffer<cr>
 
 let g:ctrlp_max_height = 20 
 let g:ctrlp_custom_ignore = 'node_modules\|^\.DS_Store\|^\.git\|^\.coffee'

goyo

用Vim作为纯净无干扰的写作窗口,用插件

open_file_under_cursor.vim

用gf打开当前光标下的文件

snipMate

补齐模板,但是感觉在python中很不好用

commentary.vim

用gcc注释和取消一行,用gc+移动注释和取消注释多行

vim-expand-region

使用+和-来快速选择文本

自己安装的插件

按键映射参考:https://yianwillis.github.io/vimcdoc/doc/map.html#:map-alt-keys

git clone --depth 1 https://github.com/vim-scripts/taglist.vim.git

查看当前映射:map
查看定义映射的位置:verbose map 键

1.jedi-vim

git clone --recursive https://github.com/ervandew/supertab
git clone http://github.com/davidhalter/jedi-vim path/to/bundles/jedi-vim
git clone --recursive http://github.com/davidhalter/jedi-vim

把tab映射为向下查找:let g:SuperTabMappingBackward =’’,向上的用上箭头
,d跳转到定义

2.重新安装了ale(不确定是否要重新装)语法检查,使用python -m pip install pylint,并使用pylint作为语法检查器

3.代码折叠

" 基于缩进或语法进行代码折叠
"set foldmethod=indent
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable

操作:za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠

4.安装vim-autopep8(将python快速格式化):
https://github.com/tell-k/vim-autopep8
并映射为F8快捷操作:autocmd FileType python noremap :call Autopep8()

:Autopep8 --range 11 13 规范化指定的行

5.jedi-vim可以提供d跳转到定义的命令
6.将ctrl+o,ctrl+i的原本跳转映射为
map
map
后来发现映射为JK更方便:
nnoremap J
nnoremap K

7.imap jk 在插入模式下将将jk映射为Esc

8.安装https://github.com/sillybun/vim-repl来辅助调试
(1)使用:REPLToggle来交互式编程
(2)安装ipdb后,进行可视化的调试

:REPLToggle 打开或者关闭REPL,映射为,r
发送语句到REPL:,w
发送语句块( def, class, while, for, if)到REPL:移动到语句块的前面, ,w
发送选中语句到REPL:先可视化模式选中语句块,然后,w

调试: * :REPLPDBS step
F11:next
F12:current line

9.安装tagList:
https://github.com/mtth/taglist.vim
安装后,使用map :TlistToggle 切换,并且可以用u刷新

自定义的快捷键汇总:

F10,F11,F12启动调试, https://github.com/sillybun/vim-repl
jj 代替ESC
F9:Paste模式切换
F8:代码规格化
F6:打开本文件的list
F7:打开NERDTree

F4:打开关闭护行号 nnoremap :set nu! nu?
F5:一键执行
hjkl
t,T前后跳转

移动到行首继续编辑
移动到行尾继续编辑
左右移动后继续编辑
左右删除

u:撤销 U恢复

映射Alt键的方式:
" Ctrl + H        
 光标移当前行行首imap <c-h> <ESC>I"         
 光标移下一行行首imap <c-j> <ESC><Down>I"             
 光标移上一行行尾imap <c-k> <ESC><Up>A"             
 标移当前行行尾imap <c-l> <ESC>A" Alt  + H            
 光标左移一格imap <m-h> <Left>" Alt  + J            
 光标下移一格imap <m-j> <Down>" Alt  + K            
 光标上移一格imap <m-k> <Up>" Alt  + L            
 光标右移一格imap <m-l> <Right>

作者:Ruchee
链接:https://www.zhihu.com/question/19643925/answer/16773303
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

vim中Tab转Space
在vim中,有时需要将tab转换成space。使用ret命令(replace tab)。
:[range]ret[ab]! [new-tabstop]
如:97,111 ret!其中97,111是范围,ret!表示按照默认的Tab设置将Tab转为空格

vim复制黏贴到不同寄存器:
复制 先按“再按寄存器名字(如1,2,3)再按复制键(如yy,像正常复制一样)
黏贴 先按“再按寄存器名字(如1,2,3)再按p键
:reg查看寄存器里的内容

vim的tab页管理

切换:使用以下任一命令,可以移动到下一个标签页:
:tabn
gt
使用以下任一命令,可以移动到上一个标签页:
:tabp
gT

跳跃着切换标签页:

{count}gt Go to tab page {count}. The first tab page has number one.
{count}gT Go {count} tab pages back. Wraps around from the first one
to the last one.
即输入3gt转到第三个选项卡,3gT从当前选项卡返回3个选项卡

去掉高亮显示: :nohl

设置备份文件的相关位置等:在这里插入图片描述

flake8:能够检查语法错误和格式错误,但是不能改正格式错误,有点鸡肋
安装和说明:
https://github.com/nvie/vim-flake8
https://vimjc.com/vim-flake8-plugin.html
删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值