乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用vim打造自己的python編輯器

       梅振億 2019-04-05

      基礎配置

      vim的配置是在用戶主目錄下的 ~/.vimrc 文件中完成的,如果沒有的話,需要自己新建一下:

      1
      2
      cd ~
      touch .vimrc

      首先做些簡單的配置:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      set nocompatible '關閉與vi的兼容模式
      set number '顯示行號
      set nowrap    '不自動折行
      set showmatch    '顯示匹配的括號
      set scrolloff=3        '距離頂部和底部3行'
      set encoding=utf-8  '編碼
      set fenc=utf-8      '編碼
      set mouse=a        '啟用鼠標
      set hlsearch        '搜索高亮
      syntax on    '語法高亮

      為py文件添加下支持pep8風格的配置:

      1
      2
      3
      4
      5
      6
      7
      8
      au BufNewFile,BufRead *.py
      \ set tabstop=4   'tab寬度
      \ set softtabstop=4 
      \ set shiftwidth=4  
      \ set textwidth=79  '行最大寬度
      \ set expandtab       'tab替換為空格鍵
      \ set autoindent      '自動縮進
      \ set fileformat=unix   '保存文件格式

      分割窗口

      vim在編輯的時候就可以打開多個文件:

      :vs  或者 :vsplit  將當前窗口豎直分割,并在上面新窗口中顯示當前文件

      :vs filename 將當前窗口豎直分割,新文件在新窗口中顯示

      :sp 或者:sv或者:split  將當前窗口水平分割,并在左邊新窗口中顯示當前文件

      :sp filename 將當前窗口豎直分割,新文件在左邊新窗口中顯示

      :new 新建文件并豎直分割

      :vnew 新建文件并水平分割

      如果想讓新窗口在右邊或者下方打開,添加配置:

      1
      2
      set splitbelow
      set splitright

      在窗口之間切換可以用鼠標,如果不想用鼠標,切換按鍵如下:

      • Ctrl-w-j 切換到下方的分割窗口
      • Ctrl-w-k 切換到上方的分割窗口
      • Ctrl-w-l 切換到右側的分割窗口
      • Ctrl-w-h 切換到左側的分割窗口

      覺得三個按鍵多的話可以設置快捷鍵:

      1
      2
      3
      4
      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>

      這樣就不用按w鍵了。

      代碼折疊

      當代碼行數(shù)很多的時候,代碼折疊是很必須的:

      1
      2
      set foldmethod=indent
      set foldlevel=99

      使用zc按鍵來創(chuàng)建折疊,使用za來打開或者關閉折疊。

      za經(jīng)常會誤輸入,可以用空格鍵來替代za:

      1
      nnoremap <space> za

      一鍵執(zhí)行python代碼

      如果想直接在vim中執(zhí)行python代碼,可以添加(來自https://www.zhihu.com/question/20271508):

      1
      2
      3
      4
      5
      6
      7
      map <F5> :call RunPython()<CR>
      func! RunPython()
          exec 'W'
          if &filetype == 'python'
              exec '!time python2.7 %'
          endif
      endfunc

      這樣,按F5鍵python代碼就可以自動執(zhí)行了

      插件

      vim插件中最主要的就是vundle了,vundle用來管理vim的其它插件

      Vundle

      Vundle 是 Vim bundle 的簡稱,使用git來管理vim插件,有了它,安裝其它插件就方便很多。

      項目地址https://github.com/VundleVim/Vundle.vim。

      首先下載源碼:

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

      如果~/.vim/bundle目錄不存在,則新建目錄:

      1
      2
      3
      4
      cd ~
      mkdir .vim
      cd .vim
      mkdir bundle

      然后將下列配置放在.vimrc文件的開頭:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      set nocompatible              ' be iMproved, required
      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 'VundleVim/Vundle.vim'
      ' All of your Plugins must be added before the following line
      call vundle#end()            ' required
      filetype plugin indent on    ' required

      如果想下載某個插件,比如自動縮進indentpython.vim插件,需要將

      1
      Plugin 'vim-scripts/indentpython.vim'

      置于call vundle#begin()和call vundle#end()之間,保存配置后在vim中執(zhí)行

      1
      :PluginInstall

      即可以自動下載indentpython.vim插件了。

      bundle可以管理下載幾種不同的插件,方式如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      github上的插件
      Plugin 'tpope/vim-fugitive'
      來自于http://vim-scripts.org/vim/scripts.html的插件
      Plugin 'L9'
      非github上的git插件
      Plugin 'git://git.wincent.com/command-t.git'
      本地插件
      Plugin 'file:///home/gmarik/path/to/plugin'
      ' The sparkup vim script is in a subdirectory of this repo called vim.
      ' Pass the path to set the runtimepath properly.
      ' Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
      有舊插件的情況下,下載新的插件并重命名以避免沖突
      Plugin 'ascenator/L9', {'name': 'newL9'}

      下載方式除了在vim中運行:PluginInstall外,還可以在命令行中運行:

      1
      vim +PluginInstall +qall

      其它常用的命令:

      1
      2
      3
      4
      :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

      YouCompleteMe

      非常好用的自動補全插件,就是比較重。

      官網(wǎng)地址:http://valloric./YouCompleteMe/

      github地址:https://github.com/Valloric/YouCompleteMe

      YouCompleteMe安裝后還需要手動編譯,然后再在.vimrc中配置。

      在ubuntu中使用,首先準備一些工具:

      1
      sudo apt-get install build-essential cmake
      1
      sudo apt-get install python-dev python3-dev

      使用vundle安裝:

      1
      Plugin 'Valloric/YouCompleteMe'

      編譯:

      1
      2
      cd ~/.vim/bundle/YouCompleteMe
      ./install.py --clang-completer

      參數(shù) --clang-completer是為了加上C系列語言的自動補全,也可以不加:

      1
      2
      cd ~/.vim/bundle/YouCompleteMe
      ./install.py

      耐心等待吧,要花很長時間...

      復制一下默認配置文件到用戶主目錄:

      1
      cp third_party/ycmd/examples/.ycm_extra_conf.py ~/

      YCM常用的一些選項,可根據(jù)個人喜好調整:

      1
      2
      3
      4
      let g:ycm_min_num_of_chars_for_completion = 2  '開始補全的字符數(shù)'
      let g:ycm_python_binary_path = 'python'  'jedi模塊所在python解釋器路徑'
      let g:ycm_seed_identifiers_with_syntax = 1  '開啟使用語言的一些關鍵字查詢'
      let g:ycm_autoclose_preview_window_after_completion=1 '補全后自動關閉預覽窗口'

      代碼跳轉:

      1
      nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>

      開關YCM:

      1
      2
      let g:ycm_auto_trigger = 0   'turn off
      let g:ycm_auto_trigger = 1   'turn on

      支持vim8的補全插件

      YouCompleteMe實際上是使用jedi-vim來補全python代碼的,如果覺得YCM實在太重,可以使用支持vim8的maralla/completor.vim來補全代碼:

      下載:

      1
      Plugin 'maralla/completor.vim'

      下載jedi:

      1
      pip install jedi

      配置:

      1
      let g:completor_python_binary = '/path/to/python/with/jedi/installed'

      設置起來比YCM簡單很多了。

      自動縮進插件

      寫python代碼,自動縮進是必須的,可以使用indentpython.vim插件:

      1
      Plugin 'vim-scripts/indentpython.vim'

      語法檢查

      安裝syntastic插件,每次保存文件時Vim都會檢查代碼的語法:

      1
      Plugin 'vim-syntastic/syntastic'

      添加flake8代碼風格檢查:

      1
      Plugin 'nvie/vim-flake8'

      運行F7就可以進行flake8檢查了。

       配色方案

      solarized配色方案已經(jīng)流行很久了,github地址https://github.com/altercation/vim-colors-solarized。

      手動下載:

      1
      2
      3
      $ cd ~/.vim/bundle
      $ git clone git://github.com/altercation/vim-colors-solarized.git
      $ mv vim-colors-solarized ~/.vim/bundle/

      或者vundle下載:

      1
      Plugin 'altercation/vim-colors-solarized'

      solarized有dark和light兩種配色,配置:

      1
      2
      3
      syntax enable
      set background=light or dark
      colorscheme solarized

      也可以根據(jù)gui模式和終端模式進行切換:

      1
      2
      3
      4
      5
      if has('gui_running')
          set background=light
      else
          set background=dark
      endif

      另外一種配色Zenburn方案:

      1
      Plugin 'jnurmine/Zenburn'

      兩種配色切換:

      1
      2
      3
      4
      5
      6
      if has('gui_running')
        set background=dark
        colorscheme solarized
      else
        colorscheme Zenburn
      endif

      nerdtree

      給vim添加一個樹形目錄,地址https://github.com/scrooloose/nerdtree。

      下載:

      1
      Plugin 'scrooloose/nerdtree'

      添加開關樹形目錄的快捷鍵:

      1
      map <C-n> :NERDTreeToggle<CR>

      Ctrl+n就可以開啟目錄了。

      設置忽略.pyc文件:

      1
      let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']

      為nerdtree添加git支持:

      1
      Plugin 'Xuyuanp/nerdtree-git-plugin'

      如果你想用tab鍵:

      1
      Plugin 'jistr/vim-nerdtree-tabs'

      vim-powerline

      美化狀態(tài)欄,可以顯示當前的虛擬環(huán)境、Git分支、正在編輯的文件等信息。

      1
      Plugin 'Lokaltog/vim-powerline'

      indentLine

      縮進指示線,地址https://github.com/Yggdroot/indentLine。

      安裝:

      1
      Plugin 'Yggdroot/indentLine'

      開關:

      1
      :IndentLinesToggle

      python是靠代碼縮進來判斷代碼塊的,縮進指示線還是很方便的。

      vim-autopep8

      自動格式化工具,安裝后運行:Autopep8就可以自動依照pep8的標準自動格式化代碼。

      地址https://github.com/Yggdroot/indentLine。

      首先安裝autopep8:

      1
      $ pip install autopep8
      1
      Plugin 'tell-k/vim-autopep8'

      可以設置快捷鍵F8代替:Autopep8:

      1
      autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR>

      auto-pairs

      自動補全括號和引號等,地址https://github.com/jiangmiao/auto-pairs

      1
      Plugin 'jiangmiao/auto-pairs'

      ctrlp.vim

      搜索插件,在vim normal模式下,按下ctrl+p,然后輸入你要尋找的文件就行了。

      地址https://github.com/kien/ctrlp.vim

      1
      Plugin 'kien/ctrlp.vim'

      ag.vim

      搜索引擎使用了the_silver_searcher

      1
      2
      3
      apt-get install silversearcher-ag
      or
      brew install the_silver_searcher

      插件

      1
      Plugin 'rking/ag.vim'

      使用

      1
      :Ag [options] {pattern} [{directory}]

      vim-fugitive

      git集成插件,可以在vim中運行git命令,https://github.com/tpope/vim-fugitive。

      1
      Plugin 'tpope/vim-fugitive'

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多