본문 바로가기

OS/Linux

linux(CentOS7) python 개발 환경 vim 설정

반응형

CentOS7 에 python 개발을 위한 vim 환경 설정을 한다.

 

사용 패키지 및 plugin

vim 9.0

python3.6.8

vim bundle : vim plugin 관리자

jedi-vim :  자동완성 plugin

vim-python-pep8-indent : 자동 들여쓰기 plugin

vim-flake8 : 문법검사 plugin

 

 

설치


 

CentOS7 커널 버전

# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

 

 

기본 패키지 설치

yum -y update
yum -y groupinstall "Development Tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make git wget

 

 

git 설치

CentOS7에서 지원하는 git 버전 말고 최신 버전의 git을 설치한다.

repo 추가

yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

git 설치

yum -y remove git
yum -y install git

git 버전 확인

# git version
git version 2.39.1

 

 

 

python 설치

CentOS7 에서 지원하는 최신 python 은 3.6.8이다.

yum -y install python3 python3-devel python3-pip

pip 업그레이드

pip3 install --upgrade pip

 

 

 

vim 설치

기존 vim을 삭제하고 9.0버전의 vim을 설치한다.

vim 삭제

yum -y remove vim*

vim 다운로드 및 설치

git clone https://github.com/vim/vim.git
cd vim/
./configure --with-features=huge --enable-multibyte --enable-rubyinterp=yes --enable-pythoninterp=yes --enable-python3interp=yes --prefix=/usr/local/vim9
make && make install

vim 심볼릭 링크

ln -s /usr/local/vim9/bin/vim /usr/bin/vim

vim 버전 확인

# vim --version
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Oct 24 2023 17:01:27)

 

 

 

vim bundle 설치

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

 

 

vimrc 설정 및 plugin 설치

 

vimrc에 아래 내용을 저장하고 나온다.

# vim ~/.vimrc
set nocompatible              " be iMproved, required
filetype off                  " required

"Vundle을 포함하도록 런타임 경로 설정 및 초기화
set rtp+=~/.vim/bundle/Vundle.vim

"--------------------------------------------Plugin 시작

call vundle#begin()

Plugin 'VundleVim/Vundle.vim'   " 최초 번들 설정
Plugin 'davidhalter/jedi-vim'   " python 자동완성 Plugin
let g:jedi#show_call_signatures=0       " 자세히 설명하는 창을 보여준다 1=활성화, 0=비>활성화
let g:jedi#popup_select_first="0"   " 자동완성시 자동팝업 등장 x
" let g:jedi#force_py_version=3     " 자동완성 3 = python3 , 2 = python2

Plugin 'hynek/vim-python-pep8-indent'   " python 자동 들여쓰기 Plugin
filetype plugin indent on               " python 자동 들여쓰기 on

Plugin 'nvie/vim-flake8'                " python 문법 검사 plugin
" let g:syntastic_python_checkers=['flake8']        " ↓ 실행시 현재줄 주석
" let g:syntastic_python_flake8_args='--ignore='    " 무시하고자 하는

call vundle#end()
"---------------------------------------------Plugin 종료

"--------------------------------------------- vim 기본 설정

if has("syntax")
syntax on           "구문 강조
endif
set t_Co=256        "구문강조 색 변경
set encoding=utf-8
set nu              "Line 출력
set tabstop=4       "<Tab> key 4칸 이동
set shiftwidth=4    "들여쓰기 이슈시 2 로 바꿀것 
set cursorline      "현재 줄 강조

"-------------------------------------------- vim 기본 설정 끝

"--------------------------------------------맨밑 상태바 표시 향상
set laststatus=2    "두줄로 표시
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\  "현재 라인 위치 출력
"------------------------------------------- au filetype (파일타입지정)
au FileType python map <f2> : !python %

 

다시 vimrc파일을 열어서 플러그인을 설치한다.

vim ~/.vimrc
:source %
:w
:PluginInstall

 

vim-flake8 은 pip로 설치한다.

pip3 install flake8

 

 

 

 

사용 방법


jedi : 자동완성

  • 모듈 사용시 "." 을 찍으면 자동완성 내용을 볼수 있다.

 

  • "Ctrl + Space Bar"를 누르면 함수(명령어) 자동 완성이 된다.

 

  • "Shift + k"를 누르면 함수에 대한 상세 내용확인이 가능하다.

 

 

 

flake8 : 문법검사

  • <f7> 을 누르면 문법검사를 할수 있다.

 

 

바로실행

vimrc의 "au FileType python map <f2> : !python %" 구문에 의해 "<f2> + Enter" 를 누르면 바로 실행이 가능하다.

 

반응형