zoukankan      html  css  js  c++  java
  • 如何将vim改造为python的IDE

    前言

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

    作者: 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 之后,得到运行结果

    在这里插入图片描述

    .

  • 相关阅读:
    方差分析
    Rust 指定安装目录
    perl 子函数传入多个数组
    perl 获取目录信息
    R绘图布局包 customLayout
    C语言 自定义函数按行读入文件2
    C语言 自定义函数按行读入文件
    C语言按行读入文件
    sed删除指定行
    mybatis 批量更新
  • 原文地址:https://www.cnblogs.com/Qqun821460695/p/11962170.html
Copyright © 2011-2022 走看看