如何将vim改造为python的IDE(vimpython配置)

网友投稿 265 2022-07-31

前言

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

基础操作

VIM 的三种模式,命令行模式、插入模式、末行模式 就不在此赘述了

常用快捷键

命令行模式:

移动光标:

向下左右箭头可以移动光标;

将光标移动到行尾:$;

将光标移动到行头:^;

将光标移动到页尾:shift+g;

将光标移动到页头:1+shift+g;

移动到目标行:n+shift+g;

快速向左右移动光标:ctrl+←/→键;

向左或者向右移动n个字符:n+←/→键;

-----------------------

删除:

删除光标所在行:dd;

删除光标所在行及之后的n-1行:dnd;

删除一个字母:x (相当于是del);

删除一个字母:X (相当于是backspace);

删除一个词:dw;(最好是放在单词的首字母处)

撤销上一步:u;

----------------------

移动单词:

向右移动一个单词:w;

向左移动一个单词:b;

----------------------

复制粘贴:

复制当前光标所在行:yy;

箭头移动到目的行粘贴:p;

复制当前光标所在行及之后的n-1行:yny;

复制一个词:yw;

-----------------------

剪切:

剪切当前光标所在位置到行尾: d+shift+4/d+$;

剪切当前光标所在位置到行首:d+shift+6/d+^;

编辑模式:

在命令行模式下进入编辑模式,需要按下i、I、a、A、o、O、r、R这些才能进入编辑模式,一般直接按下i就行;

i是在当前光标前编辑,a是在当前光标后进行编辑,o是在当前光标的下一行进行编辑;

退出编辑模式进入命令行模式需要按下esc键。

末行模式:

命令行模式进入末行模式的方式:

1.:

2./ 查找,/+被查找的单词,n是下一个,shift+n是指上一个;

3.? 查找,?+被查找的单词,n是上一个,shift+n是下一个;

存盘指令:w;

另存指令:w 文件名;

退出指令:q;

保存并退出指令:wq;

强制退出不存盘指令:q!;

替换:%s/old/new/g;

显示行号:set nu;

总结:

--------- 按键盘i键-------->输入模式 (按Esc键回到命令模式)  

|

命令模式 |

-----------输入 ":" ------> 末行模式 (按Esc键回到命令模式)

三种模式的主要功能:

命令模式:复制,粘贴,删除、移动光标、查找

编辑模式:编辑文本

末行模式:存盘、退出、替换、查找

自动缩进

Python对缩进比较严格,需要调整 ~/.vimrc 中的配置

au BufNewFile,BufRead *.py

   \ set tabstop=4 |

   \ set softtabstop=4 |

   \ set shiftwidth=4 |

   \ set textwidth=79 |

   \ set expandtab |

   \ set autoindent |

   \ set fileformat=unix |

调整后效果如下:

粘贴代码混乱

比如将如下 python 代码在 vim 插入模式下,粘贴进去

a = 1

if a > 1:

   print('> 1')

else:

   if a = 1:

       print('= 1')

   else:

       print('< 1')

如果不做任何设置,粘贴进去是这样的,发现代码错乱

解决方法: 使用 :set paste 进入粘贴模式, :set nopaste 退出粘贴模式

粘贴模式下,粘贴效果如下

代码折叠

编辑 ~/.vimrc,新增如下:

" Enable folding

set foldmethod=indent

set foldlevel=99

" 通过空格键快速打开和关闭折叠

nnoremap za

配置完毕后,按空格即可折叠代码

vim 默认的功能最多自带关键字颜色区分、自动补全等,想要一些强大的功能就需要强大的插件来完成。

如何管理插件

可以使用强大的 vundle 管理

安装 vundle

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

正克隆到 '/home/wang/.vim/bundle/Vundle.vim'...

remote: Enumerating objects: 1, done.

remote: Counting objects: 100% (1/1), done.

remote: Total 3140 (delta 0), reused 0 (delta 0), pack-reused 3139

接收对象中: 100% (3140/3140), 935.39 KiB | 420.00 KiB/s, 完成.

处理 delta 中: 100% (1106/1106), 完成.

然后在 ~/.vimrc 中加入此配置

" 在此设置运行时路径

set rtp+=~/.vim/bundle/Vundle.vim

" vundle初始化

call vundle#begin()

" 或者传递一个 Vundle 安装插件的路径

"call vundle#begin('~/some/path/here')

" 让 Vundle 管理 Vundle, 必须

Plugin 'VundleVim/Vundle.vim'

" 保持 Plugin 命令 在 vundle#begin 和 end 之间

"每个插件都应该在这一行之前  

call vundle#end()           " 这是必需的

filetype plugin indent on    " 这是必需的

" To ignore plugin indent changes, instead use:

"filetype plugin on

"

" Brief help

" :PluginList       - lists configured plugins

" :PluginInstall   - installs plugins; append `!` to update or just :PluginUpdate

" :PluginSearch foo - searches for foo; append `!` to refresh local cache

" :PluginClean     - confirms removal of unused plugins; append `!` to auto-approve removal

"

" see :h vundle for more details or wiki for FAQ

" Put your non-Plugin stuff after this line

安装插件

打开vim输入:BundleInstall。 :BundleInstall命令会安装在.vimrc文件中列出来的所有插件。 :BundleInstall  安装指定的插件。

清理未用插件

打开vim输入:BundleClean 从命令行安装vim +:BundleClean。

搜索插件

打开vim输入:BundleSearch  从命令行搜索vim +:BundleSearch 

NERDTree 目录树 在 vundle 的插件范围内,新增如下信息

" NERDTree 插件

Plugin 'git://git.wincent.com/command-t.git'

Plugin 'git://github.com/scrooloose/nerdtree.git'

Plugin 'git://github.com/Xuyuanp/nerdtree-git-plugin.git'

编辑 ~/.vimrc 新增如下:

map :NERDTreeToggle

然后在 vim 中执行 :PluginInstall,进入如下界面,等待安装完毕即可

所有操作完毕后,按 F4 即可在目录树和代码区切换

编辑模式运行 python

~/.vimrc 设置一下快捷键即可

按下 F7 之后,得到运行结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python-pyppeteer模块使用汇总(python pyppeteer教程)
下一篇:【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其(python和java哪个更值得学)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~