日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim插件自动补齐_给VIM添加REPL

發布時間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim插件自动补齐_给VIM添加REPL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

REPL: 讀取-求值-輸出”循環(英語:Read-Eval-Print Loop,簡稱REPL)是一個簡單的,交互式的編程環境。

python作為一個動態語言,REPL在開發過程中起到了很大的作用。

可是一直以來用vim寫python沒有一個很好的,簡便的提供repl功能。也有類似的插件,比如vim-slime,但是它已經很久沒有更新并且使用起來需要tmux非常的復雜。

最近發現vim8提供了terminal功能和通訊方式。我使用這個功能實現了一個vim的repl插件。


sillybun/vim-repl?github.com

插件運行環境要求

  • MacOS, Windows, Linux
  • vim +terminal, +timers
  • vim最好有+python3或者+python支持

插件的功能

這個插件的功能是在vim中打開一個terminal,然后在文件中可以通過快捷鍵把選中的文本扔給terminal中進行執行。

通過按<leader>r打開一個REPL窗口??:

在普通模式下按<leader>w把當前行發送到REPL窗口??:

在普通模式下在代碼塊的第一行按<leader>w,把一塊代碼發送到REPL窗口??:

在選擇模式下選中多行代碼按<leader>w把一塊代碼發送到REPL窗口??:

在python程序中進行代碼調試??:

可以這樣設置:

autocmd Filetype python nnoremap <F12> <Esc>:REPLDebugStopAtCurrentLine<Cr> autocmd Filetype python nnoremap <F10> <Esc>:REPLPDBN<Cr> autocmd Filetype python nnoremap <F11> <Esc>:REPLPDBS<Cr>

如此后快捷鍵的作用為:

  • F12: 在當前行設置斷點并運行
  • F10: 運行一行(不進入函數)
  • F10: 運行一行(進入函數)

安裝方式:

Plugin 'sillybun/vim-repl'

推薦配置:

Plug 'sillybun/vim-repl' let g:repl_program = {'python': 'ipython','default': 'zsh','r': 'R','lua': 'lua',} let g:repl_predefine_python = {'numpy': 'import numpy as np','matplotlib': 'from matplotlib import pyplot as plt'} let g:repl_cursor_down = 1 let g:repl_python_automerge = 1 let g:repl_ipython_version = '7' nnoremap <leader>r :REPLToggle<Cr> autocmd Filetype python nnoremap <F12> <Esc>:REPLDebugStopAtCurrentLine<Cr> autocmd Filetype python nnoremap <F10> <Esc>:REPLPDBN<Cr> autocmd Filetype python nnoremap <F11> <Esc>:REPLPDBS<Cr> let g:repl_position = 3

可選參數,等號后面是默認值(None表示沒有缺省值):

let g:repl_width = None "窗口寬度 let g:repl_height = None "窗口高度 let g:sendtorepl_invoke_key = "<leader>w" "傳送代碼快捷鍵,默認為<leader>w let g:repl_position = 0 "0表示出現在下方,1表示出現在上方,2在左邊,3在右邊 let g:repl_stayatrepl_when_open = 0 "打開REPL時是回到原文件(1)還是停留在REPL窗口中(0)

推薦配置:

tnoremap <C-h> <C-w><C-h> tnoremap <C-j> <C-w><C-j> tnoremap <C-k> <C-w><C-k> tnoremap <C-l> <C-w><C-l>

總結

以上是生活随笔為你收集整理的vim插件自动补齐_给VIM添加REPL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。