如何使 Vim 成为 Python IDE - 最佳 Python IDE。
大家好,
我又带着新一期的 Linux 教程回来了。我们这次要聊聊我个人最喜欢的东西——VIM 。我们
都受够了 iDE 和文本编辑器,它们要花好几年才能上手,而且设置这些东西比写完整个代码还要费时间。所以,我想出了一个最佳解决方案。
Vim 是什么?
在继续之前,我们先来了解一下什么是 Vim。Vim 是一款非常轻量级的文本编辑器,可以根据需要进行自定义。它通常在终端中运行,非常容易学习。
为什么选择 Vim?
正如我之前提到的,Vim 速度非常快,而且高度可定制。而且,谁不想在一个一秒钟就能打开的 IDE 上工作呢?选择 Vim 的另一个原因是它的键盘快捷键。使用 Vim 时,你无需触摸鼠标。这将使你的编码时间缩短一半。我相信到今天结束的时候,你一定会爱上它。现在就开始吧。
安装 Vim
Vim 的安装非常简单。目前,我将重点介绍 Linux 系统的安装,但也会提供其他操作系统的安装链接。Windows
- Windows中的 Vim
Mac - 我们将使用Homebrew安装 vim 。打开终端并输入:
$ brew update
$ brew install vim
这将在您的机器上安装 vim。
Linux - 在 Linux 中安装 vim 非常简单。打开终端并输入:
- 对于基于 Debian 的发行版:
$ apt-get remove vim-tiny
$ apt-get update
$ apt-get install vim
- 对于基于 Arch 的发行版:
pacman -S vim
- 对于 Fedora:
dnf install vim-enhanced
安装插件管理器
Vim 自带了插件管理器,但我们还有更好的选择。我们要安装Vundle。它让安装和更新软件包变得非常简单。
让我们来安装 vundle:
- 打开终端并输入:
$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
这将克隆您机器中的 vundle 存储库。
- 下一步是创建 vim 配置文件 (vimrc)。整个教程都需要用到这个文件。请在终端中执行以下操作:
$ cd ~
$ touch ~/.vimrc
- 将 vundle 添加到你的 vim 配置中。打开终端并输入:
$ nano ~/.vimrc
这将打开 vimrc 文件。现在复制下面的代码并粘贴到那里。
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end()
filetype plugin indent on
现在ctrl+o
写入文件然后按Enter
并最后ctrl+x
退出编辑器。
- 现在让我们在 vim 中安装 vundle 插件。启动你的终端并输入
vim
,现在 vim 就会加载。现在输入:PluginInstall
并按下Enter
。
让 Vim 成为 IDE
现在到了最精彩的部分——安装所有插件,让 vim 成为一个 IDE。这一步非常简单,我们只需在 vimrc 文件中添加一行代码,然后打开 vim 并安装它即可。别担心,这看起来可能有点复杂,但其实很简单。让我们开始吧:
- 打开终端类型
sudo nano ~/.vimrc
并清除那里的所有内容,然后粘贴代码:
set nocompatible " required
filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
" All Plugins
Plugin 'mhartington/oceanic-next'
Plugin 'tmhedberg/SimpylFold'
Plugin 'vim-scripts/indentpython.vim'
Plugin 'vim-syntastic/syntastic'
Plugin 'nvie/vim-flake8'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'kien/ctrlp.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'zxqfl/tabnine-vim'
Plugin 'frazrepo/vim-rainbow'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'davidhalter/jedi-vim'
Plugin 'ycm-core/YouCompleteMe'
call vundle#end() " required
filetype plugin indent on " required
" setting horizontal and vertical splits
set splitbelow
set splitright
"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
" Enable folding
set foldmethod=indent
set foldlevel=99
" Enable folding with the spacebar
nnoremap <space> za
" Setting up indendation
au BufNewFile, BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
au BufNewFile, BufRead *.js, *.html, *.css
\ set tabstop=2 |
\ set softtabstop=2 |
\ set shiftwidth=2
highlight BadWhitespace ctermbg=red guibg=darkred
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR>
" setting up pyflakes
let python_highlight_all=1
syntax on
" nerd tree settings
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree
" setting up line numbering
set nu
" Rainbow bracket settings
let g:rainbow_active = 1
就像我们之前操作一样,按下ctrl+o
写入,然后Enter
按下 保存。然后按下Ctrl+x
退出。
-
下一步是使用插件管理器安装所有内容。打开终端并输入
vim
。现在,输入 来安装插件:PluginInstall
。这将需要一些时间,但它会安装所有插件。 -
ycmserver 错误 - 当您打开 vim 时您可能会遇到一些错误,但不要担心,修复它非常容易。打开您的终端并输入:
$ pip install cmake
$ cd ~/.vim/bundle/YouCompleteMe
$ ./install.py
- 让我们为 IDE 设置一个配色方案。我们现在要安装 oceanic 主题。启动你的终端并输入:
$ git clone https://github.com/mhartington/oceanic-next.git
$ cd oceanic-next
$ cp colors/OceanicNext.vim ~/.vim/colors
现在打开你的 vimrc 并添加配色方案。打开终端并输入:
$ nano ~/.vimrc
这将打开你的 vimrc 文件。现在将下面的代码粘贴到那里:
" Theme
syntax enable
" for vim 7
set t_Co=256
" for vim 8
if (has("termguicolors"))
set termguicolors
endif
colorscheme OceanicNext
现在Ctrl+o
写入并按Enter
保存。按Ctrl+x
退出。
干得漂亮,伙计们!我们把 vim 打造成了一个功能强大却又轻量级的 IDE。
我们新 Vim IDE 的功能
我们做了很多事情,但我没有解释我们在做什么,也没有解释我们在 Vim-Ide 中添加了哪些功能。相信我,当你们听到新 IDE 的功能时,一定会大吃一惊。现在就让我们开始吧。
- 拆分布局- 使用 :sp 打开文件时,布局会垂直拆分(在当前文件下方打开新文件)。如果将 :vs 键反转,则会水平拆分(在当前文件右侧打开新文件)。组合键:
Ctrl
+j
移动到下方拆分,Ctrl
+k
移动到上方拆分,+移动到右侧拆分,Ctrl
+移动到左侧拆分。l
Ctrl
h
- 代码折叠- 现代 IDE 可以在函数和导入语句处折叠代码,仅显示第一行。您也可以在此处按下
Space
键来执行此操作。
- 自动完成- 就像任何其他 IDE 一样,vim 可以预测您下一步要做什么。
- 超级搜索
Ctrl
- 只需按下+键,即可导航到任何文件或标签p
。这是我最喜欢的 vim 功能之一。
- 语法检查/高亮- 在 vim 中编写代码后,我们的 flake-8 和 syntastic 插件将高亮显示代码中的所有错误,并告诉您如何修复。
我们几乎将 IDE 的所有功能都添加到了 Vim 中。现在,您可以在功能丰富的 IDE 中编写代码,而无需等待一个小时才能打开。
Vim 简介
我相信你们当中有些人有使用 vim 的经验。即使你没有也没关系,我会给你做一个简单的基础介绍。
-
模式- Vim 通常以命令模式打开,这意味着您可以输入任何内容,但其他所有命令都在这里执行,就像我们安装插件时那样。命令通常以 开头
:
。要从命令模式切换到书写模式,请按i
。现在您处于插入模式,您可以在这里输入所有内容,然后按 回到命令模式Esc
。 -
写入、保存和退出- 从命令模式( )切换到插入模式后,
i
我们就可以编辑代码了。完成后,我们需要保存并退出,但该怎么做呢?
为此,您需要按下 并按 键返回命令模式,Esc
然后按下 键:w
写入所有内容。您可以使用命令 退出编辑器:q
。如果需要退出而不保存,请使用命令:q!
。 -
额外资源——如果您需要了解有关 vim 及其功能的更多信息,请访问vimcasts。
结论
Vim 是每个程序员都应该至少尝试一次的工具。我希望这篇博客能帮助到一些人,或者鼓励一些人去尝试一下。市面上有很多插件,快去找到你喜欢的并尝试一下吧。如果你遇到任何困难,请在评论区告诉我。今天就到这里,我很快会回来带来另一个教程。
鏂囩珷鏉ユ簮锛�https://dev.to/jrhamdi/how-to-make-vim-a-python-ide-best-ide-for-python-23e1