如何將vim改造爲python的IDE

前言

本文的文字及圖片來源於網絡,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。python

做者: Jeffrey Wanggit

PS:若有須要Python學習資料的小夥伴能夠加點擊下方連接自行獲取github

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

基礎操做

VIM 的三種模式,命令行模式、插入模式、末行模式 就不在此贅述了網絡

經常使用快捷鍵app

命令行模式:學習

  移動光標:ui

  向下左右箭頭能夠移動光標;this

  將光標移動到行尾:$;spa

  將光標移動到行頭:^;

  將光標移動到頁尾: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 以後,獲得運行結果

在這裏插入圖片描述

.

相關文章
相關標籤/搜索