Pour ceux qui veulent écrire Python avec vim

Personne cible

Ceux qui veulent écrire / écrire Python en utilisant vim et ceux qui veulent en savoir plus sur l'édition de jeux de couleurs Je vais vous présenter le .vimrc que j'utilise, le script de syntaxe pour Python et enfin le jeu de couleurs.

table des matières

[Pour les nouveaux utilisateurs](#Pour les nouveaux utilisateurs) - [Compréhension de base](# Compréhension de base) - [Commande](#commande) - [Premier réglage](#First réglage) - [Activer le copier / coller via le presse-papiers](# Activer le copier / coller via le presse-papiers) -
[Plug-in management `NeoBundle`](# plug-in management neobundle) - ["NeoBundle" body related](#neobundle body related) - [Jeu de couleurs](# jeu de couleurs) - [Caractère fleur](caractère #Flower) - [Vérifier le jeu de couleurs](#Check le jeu de couleurs) - [Affichage de la ligne d'état amélioré](# Affichage de la ligne d'état amélioré) - [Visualisation en retrait](visualisation #Indent) - [Mettre en évidence l'espace inutile](#Mettre en évidence l'espace inutile) - [Vérification des erreurs de syntaxe](# Vérification des erreurs de syntaxe) - [Sélecteur multifonction](# Sélecteur multifonction) - [Achèvement du code](# Achèvement du code) - [Activer le schéma de couleurs](# Activer le schéma de couleurs) - [Réglage du code de caractère](# Réglage du code de caractère) - [Activer la ligne d'état](# Activer la ligne d'état) - [Paramètres du mode de commande](# Paramètres du mode de commande) - [Paramètres de tabulation et de retrait](# Paramètres de tabulation et de retrait) - [Recherche de chaîne de caractères](# Recherche de chaîne de caractères) - [Déplacer le curseur, etc.](# Déplacer le curseur, etc.) - [Correspondance des parenthèses et des balises](# Correspondance des parenthèses et des balises) - [Activer la souris](# Activer la souris) - [Gestion des fichiers](# Gestion des fichiers) - [Display related](# Display related) - [Paramètres des macros et des touches](# paramètres des macros et des touches) - [paramètres `neocomplete`](paramètres #neocomplete) - [Paramètres `Syntastic`](# paramètres Syntastic) - [Paramètres CtrlP](paramètres #ctrlp) - [Pour l'édition du jeu de couleurs](# Pour l'édition du jeu de couleurs) - [Modifier le schéma de couleurs](#Edit le schéma de couleurs) - [Tout d'abord, trouvez le jeu de couleurs d'origine](#First, trouvez le jeu de couleurs d'origine) - [Quelle partie aimez-vous? ](# Je n'aime pas quelle partie) - [Open Color Scheme](#Open Color Scheme) - [Groupe de syntaxe cible de recherche](groupe de syntaxe cible #Search) - [Essayez d'écrire](# Essayez d'écrire) - [Confirmer](# Confirmer) - [Fichier de syntaxe](# Fichier de syntaxe) - [pyceberg](#pyceberg) - [Conclusion](#Conclusion)

vimrc vim est un éditeur hautes performances, mais contrairement à Visual Studio et jupyter notebook, par exemple, l'interface utilisateur D'une manière ou d'une autre, le seuil est élevé car il ne répond pas du tout (sans utiliser de plug-in). Je ne suis pas très doué pour l'utiliser, alors j'ai l'impression de m'entraîner ... Mais ** Je me suis demandé ou pas récemment que le bon point de vim est que vous pouvez l'écrire rapidement lorsque vous vous habituez aux raccourcis clavier par défaut, et que vous pouvez le personnaliser librement. Différents plug-ins sont publiés sur github. Cela dit, je voudrais aujourd'hui vous présenter le .vimrc que j'utilise maintenant.

Je copie et colle le .vimrc introduit dans ici et je le personnalise un peu. ** Je veux faire .vimrc avec toute la copie! Dans ce cas, veuillez copier et ajuster après avoir fait [ici](# activer le copier-coller via le clip). ** **

.vimrc

.vimrc


set encoding=utf-8
scriptencoding utf-8
"↑ La première ligne est le réglage du code de caractère au moment de la lecture
"↑ La deuxième ligne est le paramètre lors de l'utilisation de multi-octets dans Vim Script
"Puisque vimrc est également inclus dans Vim scritpt, ce paramètre est requis au début lors de l'écriture de commentaires en japonais

"----------------------------------------------------------
" NeoBundle
"----------------------------------------------------------
if has('vim_starting')
  "Spécifiez le chemin NeoBundle dans le chemin d'exécution uniquement au premier démarrage
  set runtimepath+=~/.vim/bundle/neobundle.vim/

  "Cloner Git si NeoBundle n'est pas installé
  if !isdirectory(expand("~/.vim/bundle/neobundle.vim/"))
    echo "install NeoBundle..."
    :call system("git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim")
  endif
endif

call neobundle#begin(expand('~/.vim/bundle/'))

"Décrivez le plug-in Vim à installer ci-dessous
"Gérer NeoBundle lui-même
NeoBundleFetch 'Shougo/neobundle.vim'
"Schéma de couleur
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'
"Caractère de fleur
"NeoBundle 'sainnhe/icursive-nerd-font'
"Examiner le jeu de couleurs
NeoBundle 'guns/xterm-color-table.vim'
"Affichage de la ligne d'état amélioré
NeoBundle 'itchyny/lightline.vim'
"Visualisation du retrait
NeoBundle 'Yggdroot/indentLine'
"Les caractères vierges pleine largeur demi-largeur à la fin sont surlignés en rouge
NeoBundle 'bronson/vim-trailing-whitespace'
"Vérification des erreurs de syntaxe
NeoBundle 'scrooloose/syntastic'
"Sélecteur multifonction
NeoBundle 'ctrlpvim/ctrlp.vim'
"Plug-in d'extension CtrlP.Recherche de fonction
NeoBundle 'tacahiroy/ctrlp-funky'
"Plug-in d'extension CtrlP.Recherche dans l'historique des commandes
NeoBundle 'suy/vim-ctrlp-commandline'
"Utilisez ag pour rechercher CtrlP
NeoBundle 'rking/ag.vim'
"Chargez l'ESLint contenu dans le projet
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'
"complétion de code python
NeoBundle 'davidhalter/jedi-vim'
NeoBundle 'ervandew/supertab'
autocmd FileType python setlocal completeopt-=preview
let g:SuperTabContextDefaultCompletionType = "context"
let g:SuperTabDefaultCompletionType = "<c-n>"
"let g:jedi#rename_command = "<c-r>"
let g:jedi#force_py_version="3"

"Installez le plug-in Vim suivant uniquement lorsque la fonction lua de vim est disponible
if has('lua')
  "Saisie automatique du code
  NeoBundle 'Shougo/neocomplete.vim'
  "Fonction de complétion d'extraits de code
  NeoBundle "Shougo/neosnippet"
  "Collection d'extraits
  NeoBundle 'Shougo/neosnippet-snippets'
endif

call neobundle#end()

"Plug-in Vim par type de fichier/Activer l'indentation
filetype plugin indent on

"Paramètres qui vous demanderont si vous souhaitez installer des plug-ins Vim que vous n'avez pas installés
NeoBundleCheck

"----------------------------------------------------------
"Schéma de couleur
"----------------------------------------------------------
"Définir molokai pour la palette de couleurs
"if neobundle#is_installed('molokai')
"  colorscheme molokai
"endif
"colorscheme murphy
"Définir sur plastique
"if neobundle#is_installed('plastic')
"  colorscheme plastic
"endif
"Définir au néon
"if neobundle#is_installed('edge')
"  set termguicolors
"  set background=dark
"  let g:edge_style = 'neon'
"  let g:edge_disable_italic_comment = 1
"  let g:edge_enable_italic = 0
"  colorscheme edge
"endif
"Set to iceberg
if neobundle#is_installed('iceberg.vim')
  colorscheme iceberg
endif

set t_Co=256 "Vous n'avez pas besoin d'un environnement 256 couleurs tel qu'iTerm2
syntax enable "Colorez la syntaxe

"----------------------------------------------------------
"lettre
"----------------------------------------------------------
set fileencoding=utf-8 "Code de caractère au moment de l'enregistrement
set fileencodings=ucs-boms,utf-8,euc-jp,cp932 "Détermination automatique du code de caractère au moment de la lecture.Le côté gauche a la priorité
set fileformats=unix,dos,mac "Détection automatique du code de saut de ligne.Le côté gauche a la priorité
set ambiwidth=double "Résolution du problème de réduction des caractères □ et ○

"----------------------------------------------------------
"Ligne d'état
"----------------------------------------------------------
set laststatus=2 "Toujours afficher la ligne d'état
set showmode "Afficher le mode actuel
set showcmd "Afficher la commande que vous avez tapée sous la ligne d'état
set ruler "Afficher la position du curseur à droite de la ligne d'état

"----------------------------------------------------------
"Mode de commande
"----------------------------------------------------------
set wildmenu "Achèvement du mode de commande
set history=5000 "Nombre d'histoires de commandes à enregistrer

"----------------------------------------------------------
"Retrait de tabulation
"----------------------------------------------------------
set expandtab "Remplacer l'entrée de l'onglet par plusieurs entrées vides
set tabstop=2 "La largeur occupée par les caractères de tabulation à l'écran
set softtabstop=2 "La largeur à laquelle le curseur se déplace avec la touche de tabulation et la touche de retour arrière pour les espaces consécutifs
set autoindent "Continuer la mise en retrait de la ligne précédente à la pause
set smartindent "Vérifiez la syntaxe de la ligne précédente au moment du saut de ligne et augmentez / diminuez le retrait de la ligne suivante
set shiftwidth=2 "Largeur qui augmente ou diminue avec le retrait intelligent

"----------------------------------------------------------
"Recherche de chaîne
"----------------------------------------------------------
set incsearch "Recherche incrémentale.Rechercher chaque caractère saisi
set ignorecase "Les modèles de recherche sont insensibles à la casse
set smartcase "Si le modèle de recherche contient des lettres majuscules, il est sensible à la casse.
set hlsearch "Mettre en évidence les résultats de la recherche

"Appuyez deux fois sur la touche ESC pour changer de surbrillance
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>

"----------------------------------------------------------
"le curseur
"----------------------------------------------------------
set whichwrap=b,s,h,l,<,>,[,],~ "Il est possible de passer de la fin d'une ligne au début de la ligne suivante en déplaçant le curseur vers la gauche ou vers la droite.
set number "Afficher le numéro de ligne
set cursorline "Mettre en évidence la ligne du curseur

"Si la ligne est bouclée, déplacez le curseur sur la ligne affichée au lieu de la ligne.
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk

"Activer la touche de retour arrière
set backspace=indent,eol,start

"----------------------------------------------------------
"Correspondance des parenthèses et des balises
"----------------------------------------------------------
set showmatch "Afficher la correspondance des parenthèses pendant un moment
set matchtime=3
set matchpairs& matchpairs+=<:>
source $VIMRUNTIME/macros/matchit.vim "Vim's "%Étendre

"----------------------------------------------------------
"Déplacez et faites défiler le curseur avec la souris
"----------------------------------------------------------
if has('mouse')
  set mouse=a
  if has('mouse_sgr')
    set ttymouse=sgr
  elseif v:version > 703 || v:version is 703 && has('patch632')
    set ttymouse=sgr
  else
    set ttymouse=xterm2
  endif
endif

"----------------------------------------------------------
"Coller à partir du presse-papiers
"----------------------------------------------------------
"Empêcher l'indentation automatique lors du collage à partir du presse-papiers en mode insertion
if &term =~ "xterm"
  let &t_SI .= "\e[?2004h"
  let &t_EI .= "\e[?2004l"
  let &pastetoggle = "\e[201~"

  function XTermPasteBegin(ret)
    set paste
    return a:ret
  endfunction

  inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
endif

"----------------------------------------------------------
"Gestion de fichiers
"----------------------------------------------------------
"Ne créez pas de fichiers de sauvegarde ou d'échange
set nowritebackup
set nobackup
set noswapfile

"----------------------------------------------------------
"Afficher les relations
"----------------------------------------------------------
set list "Visualisation des personnages invisibles
set wrap "Habillage de texte long
set colorcolumn=100 "Mettez une ligne sur le 100e caractère
"Désactiver la cloche d'écran
set t_vb=
set novisualbell
"Nettoyer les caractères invisibles avec Unicode
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:↲

"----------------------------------------------------------
"Paramètres des macros et des touches
"----------------------------------------------------------
inoremap jj <Esc> "Si vous tapez rapidement jj en mode d'entrée, il est considéré comme ESC.
"Amenez le mot de recherche qui a sauté au mot de recherche au centre de l'écran
nnoremap n nzz
nnoremap N Nzz
nnoremap * *zz
nnoremap # #zz
nnoremap g* g*zz
nnoremap g# g#zz
vnoremap v $h "Sélectionnez v deux fois jusqu'à la fin de la ligne
"Aller à la paire correspondante avec TAB
nnoremap <Tab> %
vnoremap <Tab> %
" Shift +Redimensionner la fenêtre avec une flèche
"nnoremap <S-Left> <C-w><<CR>
"nnoremap <S-Right> <C-w>><CR>
"nnoremap <S-Up> <C-w>-<CR>
"nnoremap <S-Down> <C-w>+<CR>
"Appuyez deux fois sur la flèche pour aller au début ou à la fin de la ligne
inoremap <S-Left><S-Left> <Esc>_i
inoremap <S-Right><S-Right> <Esc>$i<Right>

"----------------------------------------------------------
"paramètres neocomplete / neosnippet
"----------------------------------------------------------
if neobundle#is_installed('neocomplete.vim')
  "Activer neocomplete au démarrage de Vim
  let g:neocomplete#enable_at_startup = 1
  "smartcase activé.Ignorer la discrimination de casse jusqu'à ce que les majuscules soient entrées
  let g:neocomplete#enable_smart_case = 1
  "Activer la complétion pour les mots de 3 caractères ou plus
  let g:neocomplete#min_keyword_length = 3
  "Compléter jusqu'au délimiteur
  let g:neocomplete#enable_auto_delimiter = 1
  "Afficher la fenêtre contextuelle de complétion à partir de l'entrée du premier caractère
  let g:neocomplete#auto_completion_start_length = 1
  "Fermer la fenêtre contextuelle de fin avec retour arrière
  inoremap <expr><BS> neocomplete#smart_close_popup()."<C-h>"

  "Confirmer les candidats complémentaires avec la touche Entrée.Le déploiement des extraits est également confirmé avec la touche Entrée
  imap <expr><CR> neosnippet#expandable() ? "<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "<C-y>" : "<CR>"
  "Sélectionnez les candidats à l'achèvement avec la touche de tabulation.Sautez dans l'extrait avec la touche de tabulation
  imap <expr><TAB> pumvisible() ? "<C-n>" : neosnippet#jumpable() ? "<Plug>(neosnippet_expand_or_jump)" : "<TAB>"
endif

"----------------------------------------------------------
" Syntastic
"----------------------------------------------------------
""Ligne d'erreur de syntaxe">>"Spectacle
let g:syntastic_enable_signs = 1
"Empêcher les conflits avec d'autres plugins Vim
let g:syntastic_always_populate_loc_list = 1
"Masquer la liste des erreurs de syntaxe
let g:syntastic_auto_loc_list = 0
"Effectuer une vérification des erreurs de syntaxe lors de l'ouverture d'un fichier
let g:syntastic_check_on_open = 1
" 「:Recherchez les erreurs de syntaxe même en terminant par "wq"
let g:syntastic_check_on_wq = 1

"Pour Javascript.Utilisez ESLint pour la vérification des erreurs de syntaxe
let g:syntastic_javascript_checkers=['eslint']
"Pour Python.Utilisez pep8 et pyflakes pour la vérification des erreurs de syntaxe
let g:syntastic_python_checkers=['pep8', 'pyflakes']
" Javascript,Pas de vérification d'erreur de syntaxe sauf pour python
let g:syntastic_mode_map = { 'mode': 'passive',
                           \ 'active_filetypes': ['javascript', 'python'],
                           \ 'passive_filetypes': [] }

"----------------------------------------------------------
" CtrlP
"----------------------------------------------------------
let g:ctrlp_match_window = 'order:ttb,min:20,max:20,results:100' "Faire correspondre les paramètres de la fenêtre."Affichage en bas,Fixé en taille 20 lignes,100 résultats de recherche "
let g:ctrlp_show_hidden = 1 " .(Point)Rechercher des fichiers commençant par
let g:ctrlp_types = ['fil'] "Utiliser uniquement la recherche de fichiers
let g:ctrlp_extensions = ['funky', 'commandline'] "Utilisez "funky" et "ligne de commande" comme extensions de CtrlP

"Activer CtrlPCommandLine
command! CtrlPCommandLine call ctrlp#init(ctrlp#commandline#id())

"CtrlP Paramètres de recherche raffinés Funky
let g:ctrlp_funky_matchtype = 'path'

if executable('ag')
  let g:ctrlp_use_caching=0 "N'utilisez pas le cache CtrlP
  let g:ctrlp_user_command='ag %s -i --hidden -g ""' "Paramètres de recherche pour "ag"
endif

"----------------------------------------------------------
"Pour modifier les jeux de couleurs
"----------------------------------------------------------
"Commande pour connaître le groupe de surbrillance:SyntaxInfo implémenté
function! s:get_syn_id(transparent)
  let synid = synID(line("."), col("."), 1)
  if a:transparent
    return synIDtrans(synid)
  else
    return synid
  endif
endfunction
function! s:get_syn_attr(synid)
  let name = synIDattr(a:synid, "name")
  let ctermfg = synIDattr(a:synid, "fg", "cterm")
  let ctermbg = synIDattr(a:synid, "bg", "cterm")
  let guifg = synIDattr(a:synid, "fg", "gui")
  let guibg = synIDattr(a:synid, "bg", "gui")
  return {
        \ "name": name,
        \ "ctermfg": ctermfg,
        \ "ctermbg": ctermbg,
        \ "guifg": guifg,
        \ "guibg": guibg}
endfunction
function! s:get_syn_info()
  let baseSyn = s:get_syn_attr(s:get_syn_id(0))
  echo "name: " . baseSyn.name .
        \ " ctermfg: " . baseSyn.ctermfg .
        \ " ctermbg: " . baseSyn.ctermbg .
        \ " guifg: " . baseSyn.guifg .
        \ " guibg: " . baseSyn.guibg
  let linkedSyn = s:get_syn_attr(s:get_syn_id(1))
  echo "link to"
  echo "name: " . linkedSyn.name .
        \ " ctermfg: " . linkedSyn.ctermfg .
        \ " ctermbg: " . linkedSyn.ctermbg .
        \ " guifg: " . linkedSyn.guifg .
        \ " guibg: " . linkedSyn.guibg
endfunction
command! SyntaxInfo call s:get_syn_info()

Guide du débutant

Si vous n'êtes pas nouveau dans ce domaine, veuillez passer à [ici](#first paramètre).

Créons .vimrc pour le moment.

$ cd
$ vi .vimrc

** Vous pourriez penser, "Eh bien, la commande de démarrage de vim vi au lieu de vim? "**, mais au moins pour l'instant, les deux peuvent être considérées comme la même commande.

Pour le moment, je pense que le .vimrc est ouvert dans vim. Je pense que vim est assez difficile si vous ne vous y habituez pas, donc pour le moment, je ne présenterai que la compréhension de base et les commandes qui sont au début.

Compréhension de base

vim a plusieurs modes.

--Mode normal (entrée de commande) --Mode d'insertion (édition de texte) --Mode visuel (sélection de plage)

Le mode normal est un mode pour entrer des commandes avec vim. Il sera dans ce mode lorsque vous ouvrirez le fichier avec vim. Dans les autres modes, appuyez sur ʻEsc pour entrer dans ce mode. Le mode insertion est un mode de réécriture de phrases et de code lui-même. Entrez ʻi ou ʻo` en mode normal pour entrer dans ce mode et éditer le texte. Le mode visuel est un mode de sélection d'une plage. Entrez «v» etc. en mode normal pour accéder à ce mode. Vous ne l'utiliserez peut-être pas beaucoup au début.

commander

Pour le moment, je pense que ce n'est pas grave si vous ne gardez à l'esprit que les commandes suivantes dans cet article. Si vous n'en avez pas assez, veuillez google à tout moment.

Commandes en mode normal

1 2
i Passer en mode insertion
:w sauvegarder
:q Quitter vim
:wq Enregistrer et quitter vim
dd Supprimer une ligne
yy Copie 1 ligne
p coller(Seulement de l'intérieur de vim vers l'intérieur de vim)

Commandes dans d'autres modes

1 2
Esc Revenir en mode normal

Réglage initial

Écrivez le script suivant au début de .vimrc. Ceci est un script pour activer le japonais.

.vimrc


set encoding=utf-8
scriptencoding utf-8

Si vous écrivez .vimrc pour la première fois, écrivez-le jusqu'ici et appuyez sur ʻEsc pour entrer en mode normal, enregistrez-le avec: wq` et fermez-le. Si vous l'ouvrez à nouveau, le japonais sera valide.

Activer le copier-coller via le presse-papiers

Si vous voulez tout faire avec copier-coller, faites-le manuellement jusqu'à présent. Copier et coller normalement devrait être ennuyeux. Si vous le faites, entrez : q! En mode normal et fermez-le sans enregistrer s'il est difficile à réparer.

Copier et coller activer

.vimrc


"----------------------------------------------------------
"Coller à partir du presse-papiers
"----------------------------------------------------------
"Empêcher l'indentation automatique lors du collage à partir du presse-papiers en mode insertion
if &term =~ "xterm"
  let &t_SI .= "\e[?2004h"
  let &t_EI .= "\e[?2004l"
  let &pastetoggle = "\e[201~"

  function XTermPasteBegin(ret)
    set paste
    return a:ret
  endfunction

  inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
endif

Vous pouvez maintenant copier et coller à partir du presse-papiers. En d'autres termes, vous pourrez copier des phrases à partir de sites Internet et les coller dans des fichiers ouverts par vim. Pratique!

Gestion des plugins NeoBundle

Il semble que la fin du développement de «NeoBundle» ait été déclarée depuis longtemps. Le développeur semble recommander dein. Si vous le souhaitez, veuillez réécrire en vous référant à ici. Je peux bouger si j'en ai envie, donc je pourrai réécrire un article à ce moment-là ...

NeoBundle

.vimrc


"----------------------------------------------------------
" NeoBundle
"----------------------------------------------------------
if has('vim_starting')
  "Spécifiez le chemin NeoBundle dans le chemin d'exécution uniquement au premier démarrage
  set runtimepath+=~/.vim/bundle/neobundle.vim/

  "Cloner Git si NeoBundle n'est pas installé
  if !isdirectory(expand("~/.vim/bundle/neobundle.vim/"))
    echo "install NeoBundle..."
    :call system("git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim")
  endif
endif

call neobundle#begin(expand('~/.vim/bundle/'))

"Décrivez le plug-in Vim à installer ci-dessous
"Gérer NeoBundle lui-même
NeoBundleFetch 'Shougo/neobundle.vim'
"Schéma de couleur
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'
"Caractère de fleur
"NeoBundle 'sainnhe/icursive-nerd-font'
"Examiner le jeu de couleurs
NeoBundle 'guns/xterm-color-table.vim'
"Affichage de la ligne d'état amélioré
NeoBundle 'itchyny/lightline.vim'
"Visualisation du retrait
NeoBundle 'Yggdroot/indentLine'
"Les caractères vierges pleine largeur demi-largeur à la fin sont surlignés en rouge
NeoBundle 'bronson/vim-trailing-whitespace'
"Vérification des erreurs de syntaxe
NeoBundle 'scrooloose/syntastic'
"Sélecteur multifonction
NeoBundle 'ctrlpvim/ctrlp.vim'
"Chargez l'ESLint contenu dans le projet
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'
"Plug-in d'extension CtrlP.Recherche de fonction
NeoBundle 'tacahiroy/ctrlp-funky'
"Plug-in d'extension CtrlP.Recherche dans l'historique des commandes
NeoBundle 'suy/vim-ctrlp-commandline'
"Utilisez ag pour rechercher CtrlP
NeoBundle 'rking/ag.vim'
"complétion de code python
NeoBundle 'davidhalter/jedi-vim'
NeoBundle 'ervandew/supertab'
autocmd FileType python setlocal completeopt-=preview
let g:SuperTabContextDefaultCompletionType = "context"
let g:SuperTabDefaultCompletionType = "<c-n>"
"let g:jedi#rename_command = "<c-r>"
let g:jedi#force_py_version="3"

"Installez le plug-in Vim suivant uniquement lorsque la fonction lua de vim est disponible
if has('lua')
  "Saisie automatique du code
  NeoBundle 'Shougo/neocomplete.vim'
  "Fonction de complétion d'extraits de code
  NeoBundle "Shougo/neosnippet"
  "Collection d'extraits
  NeoBundle 'Shougo/neosnippet-snippets'
endif

call neobundle#end()

"Plug-in Vim par type de fichier/Activer l'indentation
filetype plugin indent on

"Paramètres qui vous demanderont si vous souhaitez installer des plug-ins Vim que vous n'avez pas installés
NeoBundleCheck

L'explication de chaque plug-in est grossièrement expliquée ici [https://qiita.com/ahiruman5/items/4f3c845500c172a02935) car il a une explication ultra-minutieuse.

Relations corporelles NeoBundle

Extrayez les parties liées au corps NeoBundle. Chaque opération est telle que décrite dans les commentaires.

Principales relations corporelles

.vimrc


if has('vim_starting')
  "Spécifiez le chemin NeoBundle dans le chemin d'exécution uniquement au premier démarrage
  set runtimepath+=~/.vim/bundle/neobundle.vim/

  "Cloner Git si NeoBundle n'est pas installé
  if !isdirectory(expand("~/.vim/bundle/neobundle.vim/"))
    echo "install NeoBundle..."
    :call system("git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim")
  endif
endif

call neobundle#begin(expand('~/.vim/bundle/'))

"Décrivez le plug-in Vim à installer ci-dessous
"Gérer NeoBundle lui-même
NeoBundleFetch 'Shougo/neobundle.vim'

...

call neobundle#end()

"Plug-in Vim par type de fichier/Activer l'indentation
filetype plugin indent on

"Paramètres qui vous demanderont si vous souhaitez installer des plug-ins Vim que vous n'avez pas installés
NeoBundleCheck

Schéma de couleur

J'ai personnellement essayé le jeu de couleurs mais l'épave est commentée ... «molokai» est célèbre. Cependant, j'aime personnellement iceberg. Aussi, je présenterai pyceberg, qui est légèrement personnalisé pour me permettre de voir plus tard ~~ (Daima) ~~.

.vimrc


"Schéma de couleur
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'

La méthode d'activation sera également introduite [plus tard](#Activation du jeu de couleurs).

Caractère de fleur

Je n'ai pas pu utiliser les lettres de fleurs pour une raison quelconque. ~~ Je voulais l'utiliser parce que c'était cool. ~~ J'ai fait beaucoup de recherches, mais cela a juste mis en évidence le fond de la corde ... S'il vous plaît laissez-moi savoir si quelqu'un a des informations

.vimrc


"Caractère de fleur
"NeoBundle 'sainnhe/icursive-nerd-font'

Examiner le jeu de couleurs

Pour plus d'informations ici Vous pourrez utiliser la commande : XtermColorTable, qui peut afficher une liste des couleurs disponibles. Il est très utile pour Réglage des couleurs du jeu de couleurs.

.vimrc


"Examiner le jeu de couleurs
NeoBundle 'guns/xterm-color-table.vim'

Affichage de la ligne d'état amélioré

Pour plus d'informations [ici](https://qiita.com/ahiruman5/items/4f3c845500c172a02935#-lightlinevim%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82 % B9% E3% 83% A9% E3% 82% A4% E3% 83% B3% E3% 81% AE% E8% A1% A8% E7% A4% BA% E5% 86% 85% E5% AE% B9 % E5% BC% B7% E5% 8C% 96) Eh bien, en bref, je suis reconnaissant que plus d'informations soient affichées.

.vimrc


"Affichage de la ligne d'état amélioré
NeoBundle 'itchyny/lightline.vim'

Vous devez activer la ligne d'état, veuillez donc vous référer à [ici](#Enable status line).

Visualisation du retrait

Tel quel. Vous pourrez voir le retrait. Les lignes de retrait sont importantes dans toutes les langues, n'est-ce pas?

.vimrc


"Visualisation du retrait
NeoBundle 'Yggdroot/indentLine'

Mettez en surbrillance l'espace inutile

Rend les caractères vides du code visibles avec une surbrillance rouge. Je ne peux pas compiler à cause de l'espace! J'en suis très reconnaissant. De plus, vous pouvez même supprimer tous les espaces indésirables mis en évidence avec la commande : FixWhitespace! Eh bien, ne vous fiez pas trop à cela et codez toujours soigneusement.

.vimrc


"Les caractères vierges pleine largeur demi-largeur à la fin sont surlignés en rouge
NeoBundle 'bronson/vim-trailing-whitespace'

Vérification des erreurs de syntaxe

L'opération est [ici](https://qiita.com/ahiruman5/items/4f3c845500c172a02935#-syntastic%E6%A7%8B%E6%96%87%E3%82%A8%E3%83%A9%E3%83 Vous pouvez le voir en regardant% BC% E3% 83% 81% E3% 82% A7% E3% 83% 83% E3% 82% AF). On dirait qu'il vous dira s'il y a une erreur grammaticale.

.vimrc


"Vérification des erreurs de syntaxe
NeoBundle 'scrooloose/syntastic'
"Chargez l'ESLint contenu dans le projet
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'

Veuillez voir [ici](paramètre #syntastic) car il ne vérifie pas la syntaxe de Python par lui-même.

Sélecteur multifonction

C'est un plug-in qui recherche les fichiers et les tampons. Je ne pense pas que je l'utilise ... Cela signifie-t-il qu'il n'y a toujours pas assez de formation ...

.vimrc


"Sélecteur multifonction
NeoBundle 'ctrlpvim/ctrlp.vim'
"Plug-in d'extension CtrlP.Recherche de fonction
NeoBundle 'tacahiroy/ctrlp-funky'
"Plug-in d'extension CtrlP.Recherche dans l'historique des commandes
NeoBundle 'suy/vim-ctrlp-commandline'
"Utilisez ag pour rechercher CtrlP
NeoBundle 'rking/ag.vim'

Cliquez ici pour les paramètres CtrlP liés à cela (paramètres #ctrlp)

Achèvement du code

C'est un allié de codage, l'achèvement de code. En parlant de cela, je pensais que ce serait bien d'utiliser jedi-vim même si ce n'était pas neocomplete, mais je le laisse parce que ce n'est pas un problème si c'est différent. Je peux régler le problème bientôt.

Remplissage du code

.vimrc


"complétion de code python
NeoBundle 'davidhalter/jedi-vim'
NeoBundle 'ervandew/supertab'
autocmd FileType python setlocal completeopt-=preview
let g:SuperTabContextDefaultCompletionType = "context"
let g:SuperTabDefaultCompletionType = "<c-n>"
"let g:jedi#rename_command = "<c-r>"
let g:jedi#force_py_version="3"

"Installez le plug-in Vim suivant uniquement lorsque la fonction lua de vim est disponible
if has('lua')
  "Saisie automatique du code
  NeoBundle 'Shougo/neocomplete.vim'
  "Fonction de complétion d'extraits de code
  NeoBundle "Shougo/neosnippet"
  "Collection d'extraits
  NeoBundle 'Shougo/neosnippet-snippets'
endif

Le réglage de neocomplete est [ici](réglage de #neocomplete)

Activer le jeu de couleurs

Activez le jeu de couleurs. Comme dans l'exemple, la partie commentée est l'épave. Veuillez utiliser celui que vous aimez.

Collection de paramètres de jeu de couleurs

.vimrc


"----------------------------------------------------------
"Schéma de couleur
"----------------------------------------------------------
"Définir molokai pour la palette de couleurs
"if neobundle#is_installed('molokai')
"  colorscheme molokai
"endif
"colorscheme murphy
"Définir sur plastique
"if neobundle#is_installed('plastic')
"  colorscheme plastic
"endif
"Définir au néon
"if neobundle#is_installed('edge')
"  set termguicolors
"  set background=dark
"  let g:edge_style = 'neon'
"  let g:edge_disable_italic_comment = 1
"  let g:edge_enable_italic = 0
"  colorscheme edge
"endif
"Set to iceberg
if neobundle#is_installed('iceberg.vim')
  colorscheme iceberg
endif

set t_Co=256 "Vous n'avez pas besoin d'un environnement 256 couleurs tel qu'iTerm2
syntax enable "Colorez la syntaxe

N'oubliez pas de consulter pyceberg! !! ~~ (2e Daima) ~~ Pour une introduction telle que l'introduction ici

Réglage du code de caractère

Une collection de paramètres liés aux codes de caractères.

.vimrc


"----------------------------------------------------------
"lettre
"----------------------------------------------------------
set fileencoding=utf-8 "Code de caractère au moment de l'enregistrement
set fileencodings=ucs-boms,utf-8,euc-jp,cp932 "Détermination automatique du code de caractère au moment de la lecture.Le côté gauche a la priorité
set fileformats=unix,dos,mac "Détection automatique du code de saut de ligne.Le côté gauche a la priorité
set ambiwidth=double "Résolution du problème de réduction des caractères □ et ○

Activation de la ligne d'état

Activez la ligne d'état (en bas de l'éditeur vim).

"----------------------------------------------------------
"Ligne d'état
"----------------------------------------------------------
set laststatus=2 "Toujours afficher la ligne d'état
set showmode "Afficher le mode actuel
set showcmd "Afficher la commande que vous avez tapée sous la ligne d'état
set ruler "Afficher la position du curseur à droite de la ligne d'état

Paramètres du mode de commande

Vous pouvez taper diverses commandes en mode normal, mais c'est une fonction qui vous assiste. Si vous avez moins d'historique de commandes, vous n'aurez probablement aucun problème.

.vimrc


"----------------------------------------------------------
"Mode de commande
"----------------------------------------------------------
set wildmenu "Achèvement du mode de commande
set history=5000 "Nombre d'histoires de commandes à enregistrer

Paramètres de tabulation et de retrait

C'est très important pour écrire des tabulations, des retraits et du code facile à lire. Personnellement, je pense qu'il est difficile de voir si la largeur du retrait est trop grande, donc je la mets à «2», mais pour une raison quelconque, elle devient «4» sans autorisation lors de l'écriture de code Python. Eh bien, Python est une compréhension tacite et c'est bien car il y a une tendance à ce que la largeur du retrait soit comme 4. Ce sera [Indent ou Visualisation](#Indent Visualization).

.vimrc


"----------------------------------------------------------
"Retrait de tabulation
"----------------------------------------------------------
set expandtab "Remplacer l'entrée de l'onglet par plusieurs entrées vides
set tabstop=2 "La largeur occupée par les caractères de tabulation à l'écran
set softtabstop=2 "La largeur à laquelle le curseur se déplace avec la touche de tabulation et la touche de retour arrière pour les espaces consécutifs
set autoindent "Continuer la mise en retrait de la ligne précédente à la pause
set smartindent "Vérifiez la syntaxe de la ligne précédente au moment du saut de ligne et augmentez / diminuez le retrait de la ligne suivante
set shiftwidth=2 "Largeur qui augmente ou diminue avec le retrait intelligent

Recherche de chaîne

C'est également un paramètre important. La recherche de chaînes de caractères devient pratique.

.vimrc


"----------------------------------------------------------
"Recherche de chaîne
"----------------------------------------------------------
set incsearch "Recherche incrémentale.Rechercher chaque caractère saisi
set ignorecase "Les modèles de recherche sont insensibles à la casse
set smartcase "Si le modèle de recherche contient des lettres majuscules, il est sensible à la casse.
set hlsearch "Mettre en évidence les résultats de la recherche

"Appuyez deux fois sur la touche ESC pour changer de surbrillance
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>

Au fait, la recherche de chaîne de caractères est / (la chaîne de caractères que vous souhaitez rechercher) Le remplacement de la chaîne de caractères est essentiellement :% s / (chaîne de caractères à remplacer) / (chaîne de caractères après remplacement).

Déplacez le curseur, etc.

Dans vim, en mode normal, vous pouvez déplacer h, j, k, l versen bas à gauche, en haut à droite, respectivement, mais lorsque vous vous déplacez avec une telle commande, une ligne s'enroule et s'affiche parce que vous avez écrit un long code Si c'est le cas, par exemple, si vous vous déplacez avec «j», le curseur se déplacera sur la ligne suivante au lieu d'une ligne vers le bas comme il le regarde. Ici, il est configuré pour le résoudre et mettre en évidence la ligne du curseur.

lié au curseur

/.vimrc


"----------------------------------------------------------
"le curseur
"----------------------------------------------------------
set whichwrap=b,s,h,l,<,>,[,],~ "Il est possible de passer de la fin d'une ligne au début de la ligne suivante en déplaçant le curseur vers la gauche ou vers la droite.
set number "Afficher le numéro de ligne
set cursorline "Mettre en évidence la ligne du curseur

"Si la ligne est bouclée, déplacez le curseur sur la ligne affichée au lieu de la ligne.
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk

"Activer la touche de retour arrière
set backspace=indent,eol,start

Correspondance des parenthèses et des balises

La parenthèse correspondante clignote un instant pendant le codage. Ceci est utile lorsque vous écrivez beaucoup de parenthèses.

.vimrc


"----------------------------------------------------------
"Correspondance des parenthèses et des balises
"----------------------------------------------------------
set showmatch "Afficher la correspondance des parenthèses pendant un moment
set matchtime=3
set matchpairs& matchpairs+=<:>
source $VIMRUNTIME/macros/matchit.vim "Vim's "%Étendre

Activation de la souris

Je ne peux pas utiliser la souris avec le vim par défaut. Les trackpads ne peuvent pas non plus être utilisés. Alors mettons-le.

Activation de la souris

.vimrc


"----------------------------------------------------------
"Déplacez et faites défiler le curseur avec la souris
"----------------------------------------------------------
if has('mouse')
  set mouse=a
  if has('mouse_sgr')
    set ttymouse=sgr
  elseif v:version > 703 || v:version is 703 && has('patch632')
    set ttymouse=sgr
  else
    set ttymouse=xterm2
  endif
endif

Gestion de fichiers

Lorsque je modifie un fichier avec vim, un fichier de sauvegarde ou un fichier d'échange est créé automatiquement, mais je n'en ai pas besoin séparément, alors désactivez-le. (Si vous avez besoin d'une sauvegarde de fichiers, je pense que vous devriez utiliser git en premier lieu)

.vimrc


"----------------------------------------------------------
"Gestion de fichiers
"----------------------------------------------------------
"Ne créez pas de fichiers de sauvegarde ou d'échange
set nowritebackup
set nobackup
set noswapfile

Afficher les relations

Visualisez les blancs, les sauts de ligne, les tabulations, etc. Je la terminerai lorsque la phrase deviendra plus longue.

Paramètres relatifs à l'affichage

.vimrc


"----------------------------------------------------------
"Afficher les relations
"----------------------------------------------------------
set list "Visualisation des personnages invisibles
set wrap "Habillage de texte long
set colorcolumn=100 "Mettez une ligne sur le 100e caractère
"Désactiver la cloche d'écran
set t_vb=
set novisualbell
"Nettoyer les caractères invisibles avec Unicode
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:↲

Macros et paramètres clés

Ici, les raccourcis clavier par défaut sont remplacés ou nouvellement définis pour une utilisation intuitive. Veuillez ajouter ou supprimer comme vous le souhaitez.

--nnoremap est le paramètre clé en mode normal --ʻInoremap est le paramètre clé en mode insertion --vnoremap est le paramètre clé en mode visuel -- est la touche Shift -- est la touche Ctrl`

Paramètres des macros et des touches

.vimrc


"----------------------------------------------------------
"Paramètres des macros et des touches
"----------------------------------------------------------
inoremap jj <Esc> "Si vous tapez rapidement jj en mode d'entrée, il est considéré comme ESC.
"Amenez le mot de recherche qui a sauté au mot de recherche au centre de l'écran
nnoremap n nzz
nnoremap N Nzz
nnoremap * *zz
nnoremap # #zz
nnoremap g* g*zz
nnoremap g# g#zz
vnoremap v $h "Sélectionnez v deux fois jusqu'à la fin de la ligne
"Aller à la paire correspondante avec TAB
nnoremap <Tab> %
vnoremap <Tab> %
" Shift +Redimensionner la fenêtre avec une flèche
"nnoremap <S-Left> <C-w><<CR>
"nnoremap <S-Right> <C-w>><CR>
"nnoremap <S-Up> <C-w>-<CR>
"nnoremap <S-Down> <C-w>+<CR>
"Appuyez deux fois sur la flèche pour aller au début ou à la fin de la ligne
inoremap <S-Left><S-Left> <Esc>_i
inoremap <S-Right><S-Right> <Esc>$i<Right>

Paramètres de neocomplete

Le réglage de neocomplete et le réglage de neosnippet. Il semble qu'il existe diverses autres options, mais je pense que ce qui suit est généralement suffisant. Pour plus d'informations

--neocomplete est ici --neosnippet est ici

Veuillez vous référer au.

Paramètres de complétion du code

.vimrc


"----------------------------------------------------------
"paramètres neocomplete / neosnippet
"----------------------------------------------------------
if neobundle#is_installed('neocomplete.vim')
  "Activer neocomplete au démarrage de Vim
  let g:neocomplete#enable_at_startup = 1
  "smartcase activé.Ignorer la discrimination de casse jusqu'à ce que les majuscules soient entrées
  let g:neocomplete#enable_smart_case = 1
  "Activer la complétion pour les mots de 3 caractères ou plus
  let g:neocomplete#min_keyword_length = 3
  "Compléter jusqu'au délimiteur
  let g:neocomplete#enable_auto_delimiter = 1
  "Afficher la fenêtre contextuelle de complétion à partir de l'entrée du premier caractère
  let g:neocomplete#auto_completion_start_length = 1
  "Fermer la fenêtre contextuelle de fin avec retour arrière
  inoremap <expr><BS> neocomplete#smart_close_popup()."<C-h>"

  "Confirmer les candidats complémentaires avec la touche Entrée.Le déploiement des extraits est également confirmé avec la touche Entrée
  imap <expr><CR> neosnippet#expandable() ? "<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "<C-y>" : "<CR>"
  "Sélectionnez les candidats à l'achèvement avec la touche de tabulation.Sautez dans l'extrait avec la touche de tabulation
  imap <expr><TAB> pumvisible() ? "<C-n>" : neosnippet#jumpable() ? "<Plug>(neosnippet_expand_or_jump)" : "<TAB>"
endif

Paramètres Syntastic

Il s'agit d'un ensemble de paramètres pour la fonction de vérification de la syntaxe. Cependant, pourquoi ne semble-t-il pas fonctionner dans mon environnement ...? Quelque chose ne va pas ...

Paramètres `Syntastic`

.vimrc


"----------------------------------------------------------
" Syntastic
"----------------------------------------------------------
""Ligne d'erreur de syntaxe">>"Spectacle
let g:syntastic_enable_signs = 1
"Empêcher les conflits avec d'autres plugins Vim
let g:syntastic_always_populate_loc_list = 1
"Masquer la liste des erreurs de syntaxe
let g:syntastic_auto_loc_list = 0
"Effectuer une vérification des erreurs de syntaxe lors de l'ouverture d'un fichier
let g:syntastic_check_on_open = 1
" 「:Recherchez les erreurs de syntaxe même en terminant par "wq"
let g:syntastic_check_on_wq = 1

"Pour Javascript.Utilisez ESLint pour la vérification des erreurs de syntaxe
let g:syntastic_javascript_checkers=['eslint']
"Pour Python.Utilisez pep8 et pyflakes pour la vérification des erreurs de syntaxe
let g:syntastic_python_checkers=['pep8', 'pyflakes']
" Javascript,Pas de vérification d'erreur de syntaxe sauf pour python
let g:syntastic_mode_map = { 'mode': 'passive',
                           \ 'active_filetypes': ['javascript', 'python'],
                           \ 'passive_filetypes': [] }

À propos, «pep8» et «pyflakes» sont

$ pip install pep8 pyflakes

Vous pouvez l'installer avec. Pour plus d'informations ici

Paramètres CtrlP

Réglage du plug-in [Sélecteur multifonction](# Sélecteur multifonction). Je configure la détection de fichiers.

Paramètres CtrlP

.vimrc


"----------------------------------------------------------
" CtrlP
"----------------------------------------------------------
let g:ctrlp_match_window = 'order:ttb,min:20,max:20,results:100' "Faire correspondre les paramètres de la fenêtre."Affichage en bas,Fixé en taille 20 lignes,100 résultats de recherche "
let g:ctrlp_show_hidden = 1 " .(Point)Rechercher des fichiers commençant par
let g:ctrlp_types = ['fil'] "Utiliser uniquement la recherche de fichiers
let g:ctrlp_extensions = ['funky', 'commandline'] "Utilisez "funky" et "ligne de commande" comme extensions de CtrlP

"Activer CtrlPCommandLine
command! CtrlPCommandLine call ctrlp#init(ctrlp#commandline#id())

"CtrlP Paramètres de recherche raffinés Funky
let g:ctrlp_funky_matchtype = 'path'

if executable('ag')
  let g:ctrlp_use_caching=0 "N'utilisez pas le cache CtrlP
  let g:ctrlp_user_command='ag %s -i --hidden -g ""' "Paramètres de recherche pour "ag"
endif

Pour modifier les jeux de couleurs

Il s'agit d'une commande pratique qui vous indique le groupe de syntaxe du code vers lequel vous pointez actuellement lors de la modification d'un jeu de couleurs.

`: Activez la commande SyntaxInfo`

.vimrc


"----------------------------------------------------------
"Pour modifier les jeux de couleurs
"----------------------------------------------------------
"Commande pour connaître le groupe de surbrillance:SyntaxInfo implémenté
function! s:get_syn_id(transparent)
  let synid = synID(line("."), col("."), 1)
  if a:transparent
    return synIDtrans(synid)
  else
    return synid
  endif
endfunction
function! s:get_syn_attr(synid)
  let name = synIDattr(a:synid, "name")
  let ctermfg = synIDattr(a:synid, "fg", "cterm")
  let ctermbg = synIDattr(a:synid, "bg", "cterm")
  let guifg = synIDattr(a:synid, "fg", "gui")
  let guibg = synIDattr(a:synid, "bg", "gui")
  return {
        \ "name": name,
        \ "ctermfg": ctermfg,
        \ "ctermbg": ctermbg,
        \ "guifg": guifg,
        \ "guibg": guibg}
endfunction
function! s:get_syn_info()
  let baseSyn = s:get_syn_attr(s:get_syn_id(0))
  echo "name: " . baseSyn.name .
        \ " ctermfg: " . baseSyn.ctermfg .
        \ " ctermbg: " . baseSyn.ctermbg .
        \ " guifg: " . baseSyn.guifg .
        \ " guibg: " . baseSyn.guibg
  let linkedSyn = s:get_syn_attr(s:get_syn_id(1))
  echo "link to"
  echo "name: " . linkedSyn.name .
        \ " ctermfg: " . linkedSyn.ctermfg .
        \ " ctermbg: " . linkedSyn.ctermbg .
        \ " guifg: " . linkedSyn.guifg .
        \ " guibg: " . linkedSyn.guibg
endfunction
command! SyntaxInfo call s:get_syn_info()

SyntaxInfo.gif

Modification des jeux de couleurs

J'ai fait référence à ici. Les jeux de couleurs sont étonnamment importants lors du codage avec vim. Si vous n'utilisez que des couleurs vives, vos yeux seront fatigués, et s'ils sont tous de la même couleur, vous ne remarquerez pas de fautes d'orthographe et l'efficacité du codage se détériorera de toute façon. Vous pouvez voir "Ceci est le jeu de couleurs!" Sur divers sites, ou chercher quelque chose de bien pour vous sur le Site où vous pouvez rechercher des jeux de couleurs. Même si vous venez, avez-vous le sentiment de ne pas être convaincu? Donc, c'est très simple, mais je vais vous expliquer comment modifier le jeu de couleurs.

Tout d'abord, trouvez la palette de couleurs d'origine

Créer votre propre jeu de couleurs à partir de zéro peut être intimidant, alors ne le faites pas. Vous pouvez modifier le jeu de couleurs que vous aimez le plus en ce moment, et cela suffira. J'ai aimé iceberg, donc je l'ai édité un peu sur cette base.

Quelle partie aimez-vous?

Une fois que vous avez décidé de la palette de couleurs sous-jacente, découvrez les parties de la couleur que vous n'aimez pas. Vous pouvez trouver le groupe de surbrillance dans : SyntaxInfo dans [Introduit plus tôt](# pour éditer le jeu de couleurs), donc éditez en fonction de cela. Dans ce qui suit, nous allons changer la couleur du groupe PythonString à titre d'exemple. PythonString.gif

** Gardez ce code Python ouvert! ** **

Jeu de couleurs ouvert

Si le jeu de couleurs est géré par NeoBundle

~/.vim/bundle/

Je pense que c'est à l'intérieur. Cette fois, je vais éditer ʻiceberg`

$ vi ~/.vim/bundle/iceberg.vim/colors/iceberg.vim

Ouvrez le jeu de couleurs avec.

Rechercher le groupe de syntaxe cible

Regardons la définition en tant que recherche de chaîne vim / pythonstring. search_PythonString.gif Non Oui. Cela signifie que vous devez l'écrire vous-même. Vous pouvez l'ajouter n'importe où, mais le rendre facile à comprendre. Cette fois, je vais le mettre à la toute fin de la partie qui définit directement la couleur du jeu de couleurs. define_last.png

j'écrirai

Vous pouvez l'écrire en l'imitant. Quelle couleur as-tu? Pour cela, reportez-vous au : XtermColorTable introduit dans [ici](#Vérifiez le jeu de couleurs). Cette fois, nous utiliserons ctermfg = 40, guifg = # 00df00. Vous pouvez voir le nombre hexadécimal de guifg en sélectionnant la plage en mode visuel ~ colortable.png write_pythonstring.png Si vous pouvez l'écrire, enregistrez-le sous ** : w pour le moment. ** ** ** Ne fermez pas encore! ** **

Confirmer

Passons maintenant à l'écran de code Python. Tapez : syntax on et la nouvelle couleur devrait être reflétée. reflect.gif C'est trop flashy ~ Arrêtons-le après tout Cette couleur peut être différente de la couleur que je pensais, alors revenez à [Write](# Write) et modifiez-la à nouveau Vérifiez et répétez ~.

Ceci est la fin de l'explication de la façon de modifier le jeu de couleurs!

Fichier de syntaxe

Eh bien, j'ai édité le jeu de couleurs et c'est parfait! Pour ceux d'entre vous qui pensent, j'ai oublié un autre facteur important! C'est l'existence d'un ** fichier de syntaxe **. Un fichier de syntaxe est un fichier qui résume la grammaire telle quelle. Si vous écrivez Python avec vim, vous devez l'inclure. Il existe un fichier de syntaxe Python dans ici, mais ces attributs (pour une raison quelconque) tels que les méthodes de classe Je ne peux pas changer la couleur de (foo in hoge.foo). J'ai donc modifié un peu ici python.vim selon README.md

~/.vim/syntax/

Mettons-le dedans. Ensuite, vous devriez également pouvoir changer la couleur des attributs!

pyceberg Enfin, j'aimerais faire de la publicité pour pyceberg, qui a été grisée dans cet article. La base est iceberg, et j'ai changé la couleur à mon goût. Veuillez l'utiliser si vous le souhaitez.

La méthode d'installation est décrite dans README.md. Le plus simple est de .vimrc

.vimrc


NeoBundle ‘kuroitu/pyceberg’
colorscheme pyceberg

Est-ce la manière de procéder?

Cela ressemble à ceci ↓ (l'image provient du code numpy) screenshot1.png screenshot2.png

en conclusion

C'était un très long article ... Eh bien, j'espère que cela vous sera utile.

référence

Recommended Posts