前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: Jeffrey Wang

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 <space> 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 <plugin-name> 安装指定的插件。

清理未用插件

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

搜索插件

打开vim输入:BundleSearch <text-list> 从命令行搜索vim +:BundleSearch <text-list>。

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 <F4> :NERDTreeToggle<CR>

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

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

编辑模式运行 python

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

" Python 的运行
map <F7> :call PRUN()<CR>
func! PRUN()
exec "w"
exec "!clear"
exec "!time python3 %"
endfunc

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

.

如何将vim改造为python的IDE的更多相关文章

  1. 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)

    1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scr ...

  2. 将Vim改造为强大的IDE

    1.安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可: lingd@ubuntu:~/arm$sudo apt-get install vim vim-s ...

  3. 【转】将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)

    原文网址:http://blog.csdn.net/bokee/article/details/6633193 工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话.. ...

  4. ctagst简单应用,将Vim改造:Ctags,Taglist,Cscope,OmniCppComplete,SuperTab,Winmanager,NERDTree,MiniBufExplorer,vimrc

    vim + ctags $ ctags #给同一个目录下的所有文件建立tags 这时在tags文件所在的目录下打开源文件阅读,vim就会自动调用tags文件.如果tags文件不在当前目录下,能在命令模 ...

  5. Ubuntu下将vim配置为Python IDE(转)

    工欲善其事,必先利其器. 配置好了Django的环境,该把vim好好配置一下当做python的IDE来用. 在Windows下用惯了各种现成的工具,转到Linux下,一下没了头绪……好歹google出 ...

  6. Use Vim as a Python IDE

    Use Vim as a Python IDE I love vim and often use it to write Python code. Here are some useful plugi ...

  7. Vim配置(python版)

    由于马上将用到django框架,需要有一个好的ide来coding,之前做C的开发时候体会到了vim的强大,所以编写python也决定采用vim. PS:除了vim,一般浏览代码多用atom和subl ...

  8. 将VIM打造成强大的IDE

    转载自:所需即所获:像 IDE 一样使用 vim 如侵犯您的版权,请联系:2378264731@qq.com --------------------------------------------- ...

  9. 排名前三——python 开源 IDE

    写在前面的一些P话: Python无处不在 ,似乎它支持从主要网站到桌面实用程序到企业软件的所有功能. Python已经被用来编写流行的软件项目,如dnf / yum,OpenStack,OpenSh ...

随机推荐

  1. 微信小程序头像为什么是模糊的?小程序头像模糊怎么办?

    「柒留言」更新的换国旗头像小功能,获取头像显示模糊... 1.头像模糊 国庆之前,更新了「柒留言」小程序加国旗头像的小功能,但是头像模糊这个坑我在发布新版之前还没解决. 一直以为是代码出了问题,各种搜 ...

  2. Cesium专栏-空间分析之剖面分析(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  3. Django使用xadmin集成富文本编辑器Ueditor(方法二)

    一.xadmin的安装与配置1.安装xadmin,其中第一种在python3中安装不成功,推荐第二种或者第三种 方式一:pip install xadmin 方式二:pip install git+g ...

  4. c# 获取sqlserver 运行脚本的print消息的方法分享

    转自:http://www.maomao365.com/?p=6923  摘要: 在sql脚本的编写中,我们经常使用sql脚本print消息,作为输出测试, 通过获取print消息,我们可以快速获取程 ...

  5. Python入门基础学习(文件与异常处理)

    Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...

  6. 001 C/C++ 选择排序法

    简单选择排序: 选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进. 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录 ...

  7. JAVA实现二维码生成加背景图

    pom.xml依赖 <!-- 二维码生成 -->         <!-- https://mvnrepository.com/artifact/com.google.zxing/c ...

  8. Cisco pppoe上网设置

    1.配置虚拟端口: interface Dialer1 ip address negotiated ip nat outside ip virtual-reassembly in encapsulat ...

  9. Cent OS6.5——网络配置

    1.已安装centos 系统,打开虚拟机,并开机进入centos系统 2.进行网络配置,必须先确认以下几个点: 2-1.网络适配器模式是否为NAT模式,点击虚拟机,选择设置 ——选择网络适配器,NAT ...

  10. 201871010113-刘兴瑞《面向对象程序设计(java)》第十六周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...