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
删除