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.
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
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()
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.
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.
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 |
É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.
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.
.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!
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à ...
.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.
NeoBundle
Extrayez les parties liées au corps NeoBundle. Chaque opération est telle que décrite dans les commentaires.
.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
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).
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'
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'
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).
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'
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'
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.
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)
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.
.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)
Activez le jeu de couleurs. Comme dans l'exemple, la partie commentée est l'épave. Veuillez utiliser celui que vous aimez.
.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
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 ○
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
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
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
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)
.
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.
/.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
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
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.
.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
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
Visualisez les blancs, les sauts de ligne, les tabulations, etc. Je la terminerai lorsque la phrase deviendra plus longue.
.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:↲
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`
.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>
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.
.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
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 ...
.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
Réglage du plug-in [Sélecteur multifonction](# Sélecteur multifonction). Je configure la détection de fichiers.
.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
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.
.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()
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.
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.
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.
** Gardez ce code Python 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.
Regardons la définition en tant que recherche de chaîne vim / pythonstring
.
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.
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 ~
Si vous pouvez l'écrire, enregistrez-le sous ** : w
pour le moment. ** **
** Ne fermez pas encore! ** **
Passons maintenant à l'écran de code Python.
Tapez : syntax on
et la nouvelle couleur devrait être reflétée.
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!
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)
C'était un très long article ... Eh bien, j'espère que cela vous sera utile.
Recommended Posts