当python邂逅vim

先上效果图:

前言:

在这个年纪爱上vim,不是因为它漂亮,只是那天阳光很好,我用它敲坏了键盘. ------一位不愿意透露姓名的人士

第一次接触vim,是在上linux操作系统的课上,当时的想法是,"这东西怎么这么难用,要输入个东西都不知道怎么输入".

但是,经过几天的了解和练习之后.我深深的被震撼了.先进的理念/多种模式/全键盘操作/快速定位/风骚的快捷键和命令/丰富的插件/灵活的配置等等等等.

难怪几十年来vim依然可以甩其它文本编辑器几条街, 难以被超越.

如果你已经熟悉了vim,那么可以跳过下面这一节.

否则:

  • 1.扔掉其它文本编辑器,nodepad/nodepad++/nodepad2/editplus/sublime text2等等等等
  • 2.从官网下载gvim74, 安装的时候√上所有选项,安装后有三个快捷图标, 把gvim easy和gvim readonly丢掉.
  • 3.命令行敲vimtutor.bat, 花上半小时跟着走一遍, 每当觉得自己还不够熟练的时候,就练习一遍,直到肌肉反射.
  • 4.搜索"vim cheatsheet"或"vim 壁纸",贴在桌面,时不时参考一下.
  • 5.参考别人的vimrc配置, 打造成最适合自己的屠龙刀.

资源推荐:VIM教程与学习资料汇总(2010-02-19更新)

最爱的几个插件:

‘gmarik/vundle‘                插件管理器

‘tomasr/molokai‘               配色方案

‘hdima/python-syntax‘          python语法

‘kevinw/pyflakes-vim‘          python语法检查

‘Valloric/YouCompleteMe‘       杀手级补全, clang级别的补全以及cache补全

‘scrooloose/nerdtree‘          文件树目录

‘scrooloose/nerdcommenter‘     快速添加取消注释

‘Lokaltog/vim-easymotion‘      杀手级跳转

‘kien/ctrlp.vim‘               杀手级, 重新定义了编辑器打开文件的方式

‘SirVer/ultisnips‘             快速插入代码片段snippets

‘honza/vim-snippets‘           snippets模板

‘kien/rainbow_parentheses.vim‘ 嵌套括号的美观匹配高亮

‘Yggdroot/indentLine‘          缩进虚线

‘vim-scripts/matchit.zip‘      extended % matching for HTML, LaTeX, and many other languages

‘Raimondi/delimitMate‘         括号补全

‘terryma/vim-expand-region‘    allows you to visually select increasingly larger regions of text using the same key combination.

‘junegunn/vim-easy-align‘      方便的按分隔符对齐,比如=号

主要键绑定:

let mapleader = ‘,‘ 设置主键

let g:mapleader = ‘,‘

nmap <leader>w :w!<cr> 快速保存

noremap <c-c> :!python %<cr> 快速用python运行当前文件

按;键触发(ctrlp)

按f键触发(easymotion)的双字母跳转

按空格键切换注释(nerdcommenter)

按<leader>t侧边文件目录(nerdtree)

按<c-j>触发ultisnips补全

按<c-n>向下选择,按<c-p>向上选择

时间: 2024-10-12 14:58:12

当python邂逅vim的相关文章

A Byte of Python之安装python / 配置vim

从今天开始学习python,学习的目的: 国外的都是以python做编程入门,去英国前要把课补上 今天买了一本机器学习实战,是用python写的,虽然大部分代码能够看懂,但是系统的学习还是很有必要 知乎上的大牛很推崇python,一定有道理,学学也无妨 在知乎上找了一些python入门的经验,这篇比较中意. http://www.zhihu.com/question/20702054/answer/15960991 本来一直犹豫不决要选3.x还是2.x,最后还是选择2.x,作为入门,等需要时再看

解释Python编写vim插件

Vim 插件是一个 .vim 的脚本文件,定义了函数.映射.语法规则和命令,可用于操作窗口.缓冲以及行.一般一个插件包含了命令定义和事件钩子.当使用 Python 编写 vim 插件时,函数外面是使用 VimL 编写,尽管 VimL 学起来很快,但 Python 更加灵活,例如可以用 urllib/httplib/simplejson 来访问某些 Web 服务,这也是为什么很多需要访问 Web 服务的插件都是使用 VimL + Python 编写的原因. 在开始编写插件之前,你需要确认 Vim

Linux 笔记 #01# 搭建 Python 环境 &amp; vim 代码高亮

日常收集 vim editor: How do I enable and disable vim syntax highlighting? 搭建 Python 环境 vim editor: How do I enable and disable vim syntax highlighting? 完美解决:https://alvinalexander.com/linux/vi-vim-editor-syntax-highlighting 搭建 Python 环境 这种题材是不可能原创的:Insta

[Misc] python 开发vim 插件初步测试

[Misc] python 开发vim 插件初步测试 今日雨夹雪, 晚上闲来没事突然想了解下用python试试VIM插件开发. 于是写了个初步测试. 总体来说相当简单, 几个相当设置语法后, import vim 后就进入python世界了. (相当操作命令vim内:help py了解更多) 测试代码, 放到.vim/plugin目录下, *.vim vim内: Helloworld 和 : Helloname abeen 调用测试方法. 测试如下: 1 " vim plugin test 2

Linux下Python设置vim和交互模式下自动补全

运行环境: aliyun ECS Centos6.5_x64 一.vim python自动补全插件 pydiction 1.安装配置 wget https://github.com/rkulla/pydiction/archive/master.zip unzip -q master mv pydiction-master pydiction mkdir -p ~/.vim/tools/pydiction cp -r pydiction/after ~/.vim cp pydiction/com

python学习-vim插件安装

centos7上自带python2.7,我们需要优化一下python环境. 一.使用豆瓣源加速软件安装 pip install -i   flask    #使用-i 选项 mkdir ~./pip && vim pip.conf        #修改pip的配置文件 [global] index-url = https://pypi.douban.com/simple/ 二.修改.vimrc文件 主要增加一些配置选项,例如显示行号,一键执行等 vim .vimrc set nocompa

为Python配置Vim编辑器(GUI/非GUI皆可)

原文地址:https://blog.csdn.net/alanzjl/article/details/49383943 Vim as a python IDE ** 最近一直在写Python,但一直没有像样的配置一下Vim,没有代码提示.没有Highlight导致写代码效率低下,于是辗转找到了英国的一篇配置Vim for Python的文章,抽空翻译了一下. 时间不多,前言部分就不翻译了,直接开始正文. 首先,在开始为python配置之前,你需要安装vim和Vundle.Vundle是一种vim

python的vim的环境配置(后续慢慢补充进来)

#vim ~/.vimrc set smartindent set smarttab set expandtab set tabstop=4 set softtabshtop=4 set shiftwidth=4 set backspace=2 set textwidth=79 "允许退格删除和tab操作 "启用鼠标 set mouse=a "启用行号 set nu

python邂逅——符号运算(一)

1.布尔运算符 共三个 not 逻辑取反 eg:not 1 return false and 优先返回假值的对象 eg:1 and 0 return 0 12 and 100 return 12 or 优先返回真值对象 eg:1 or 2 return 1 0 or 20 return20 2.位运算 & | ^ << >> ~ &:位与运算 输入相同值则返回相同值,不同则返回0 eg:7 & 7 return 7 8 & 9 return 0 |: