Diejenigen, die Python mit vim schreiben / schreiben möchten, und diejenigen, die etwas über das Bearbeiten von Farbschemata wissen möchten
Ich werde die von mir verwendete .vimrc
, das Syntaxskript für Python und schließlich das Farbschema vorstellen.
vimrc vim ist ein Hochleistungseditor, unterscheidet sich jedoch im Gegensatz zu Visual Studio und jupyter notebook beispielsweise von der Benutzeroberfläche Irgendwie ist der Schwellenwert hoch, weil er überhaupt nicht erfüllt (ohne Verwendung eines Plug-Ins). Ich bin nicht sehr gut darin, also fühlt es sich an, als würde ich üben ... Ich habe mich jedoch gefragt oder in letzter Zeit nicht gedacht, dass der gute Punkt von vim darin besteht, dass Sie es schnell schreiben können, wenn Sie sich an die Standard-Tastenkombinationen gewöhnt haben, und es frei anpassen können. Verschiedene Plug-Ins werden auf github veröffentlicht. Vor diesem Hintergrund möchte ich heute die ".vimrc" vorstellen, die ich jetzt verwende.
Ich kopiere und füge die in [hier] eingeführte .vimrc
ein (https://qiita.com/ahiruman5/items/4f3c845500c172a02935) und passe sie ein wenig an.
** Ich möchte .vimrc
mit allen Kopien machen! In diesem Fall kopieren Sie bitte und passen Sie es an, nachdem Sie [hier] ausgeführt haben (# Aktivieren Sie das Kopieren und Einfügen per Clip). ** ** **
.vimrc
set encoding=utf-8
scriptencoding utf-8
"↑ Die erste Zeile ist die Zeichencodeeinstellung zum Zeitpunkt des Lesens
"↑ Die zweite Zeile ist die Einstellung bei Verwendung von Multibyte in Vim Script
"Da vimrc auch in Vim scritpt enthalten ist, ist diese Einstellung zu Beginn erforderlich, wenn Sie Kommentare auf Japanisch schreiben
"----------------------------------------------------------
" NeoBundle
"----------------------------------------------------------
if has('vim_starting')
"Geben Sie den NeoBundle-Pfad im Laufzeitpfad nur beim ersten Start an
set runtimepath+=~/.vim/bundle/neobundle.vim/
"Git-Klon, wenn NeoBundle nicht installiert ist
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/'))
"Beschreiben Sie das unten zu installierende Vim-Plug-In
"Verwalten Sie NeoBundle selbst
NeoBundleFetch 'Shougo/neobundle.vim'
"Farbschema
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'
"Blumencharakter
"NeoBundle 'sainnhe/icursive-nerd-font'
"Untersuchen Sie das Farbschema
NeoBundle 'guns/xterm-color-table.vim'
"Verbesserte Statuszeilenanzeige
NeoBundle 'itchyny/lightline.vim'
"Einrückungsvisualisierung
NeoBundle 'Yggdroot/indentLine'
"Leerzeichen in voller Breite und halber Breite am Ende werden rot hervorgehoben
NeoBundle 'bronson/vim-trailing-whitespace'
"Syntaxfehlerprüfung
NeoBundle 'scrooloose/syntastic'
"Multifunktionswähler
NeoBundle 'ctrlpvim/ctrlp.vim'
"CtrlP-Erweiterungs-Plug-In.Funktionssuche
NeoBundle 'tacahiroy/ctrlp-funky'
"CtrlP-Erweiterungs-Plug-In.Befehlsverlaufssuche
NeoBundle 'suy/vim-ctrlp-commandline'
"Verwenden Sie ag, um nach CtrlP zu suchen
NeoBundle 'rking/ag.vim'
"Laden Sie die im Projekt enthaltene ESLint
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'
"Vervollständigung des Python-Codes
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"
"Installieren Sie das folgende Vim-Plug-In nur, wenn die Lua-Funktion von Vim verfügbar ist
if has('lua')
"Automatische Vervollständigung des Codes
NeoBundle 'Shougo/neocomplete.vim'
"Snippet-Vervollständigungsfunktion
NeoBundle "Shougo/neosnippet"
"Snippet-Sammlung
NeoBundle 'Shougo/neosnippet-snippets'
endif
call neobundle#end()
"Vim-Plug-In nach Dateityp/Einrückung aktivieren
filetype plugin indent on
"Einstellungen, in denen Sie gefragt werden, ob Sie nicht installierte Vim-Plug-Ins installieren möchten
NeoBundleCheck
"----------------------------------------------------------
"Farbschema
"----------------------------------------------------------
"Stellen Sie Molokai für das Farbschema ein
"if neobundle#is_installed('molokai')
" colorscheme molokai
"endif
"colorscheme murphy
"Auf Plastik einstellen
"if neobundle#is_installed('plastic')
" colorscheme plastic
"endif
"Auf Neon einstellen
"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
"Auf Eisberg setzen
if neobundle#is_installed('iceberg.vim')
colorscheme iceberg
endif
set t_Co=256 "Sie müssen keine 256-Farben-Umgebung wie iTerm2 haben
syntax enable "Färben Sie die Syntax
"----------------------------------------------------------
"Brief
"----------------------------------------------------------
set fileencoding=utf-8 "Zeichencode zum Zeitpunkt des Speicherns
set fileencodings=ucs-boms,utf-8,euc-jp,cp932 "Automatische Bestimmung des Zeichencodes zum Zeitpunkt des Lesens.Die linke Seite hat Priorität
set fileformats=unix,dos,mac "Automatische Erkennung des Zeilenvorschubcodes.Die linke Seite hat Priorität
set ambiwidth=double "Das Problem, dass die Zeichen □ und ○ zusammenbrachen, wurde behoben
"----------------------------------------------------------
"Statuszeile
"----------------------------------------------------------
set laststatus=2 "Statuszeile immer anzeigen
set showmode "Aktuellen Modus anzeigen
set showcmd "Zeigen Sie den eingegebenen Befehl unterhalb der Statuszeile an
set ruler "Zeigen Sie die Cursorposition rechts von der Statuszeile an
"----------------------------------------------------------
"Befehlsmodus
"----------------------------------------------------------
set wildmenu "Abschluss des Befehlsmodus
set history=5000 "Anzahl der zu speichernden Befehlsverläufe
"----------------------------------------------------------
"Tab-Einzug
"----------------------------------------------------------
set expandtab "Ersetzen Sie die Registerkarteneingabe durch mehrere leere Eingaben
set tabstop=2 "Die Breite der Tabulatorzeichen auf dem Bildschirm
set softtabstop=2 "Die Breite, um die sich der Cursor mit der Tabulatortaste und der Rücktaste für aufeinanderfolgende Leerzeichen bewegt
set autoindent "Setzen Sie das Einrücken der vorherigen Zeile bei Unterbrechung fort
set smartindent "Überprüfen Sie die Syntax der vorherigen Zeile zum Zeitpunkt des Zeilenumbruchs und erhöhen / verringern Sie den Einzug der nächsten Zeile
set shiftwidth=2 "Breite, die mit dem intelligenten Einzug zunimmt oder abnimmt
"----------------------------------------------------------
"String-Suche
"----------------------------------------------------------
set incsearch "Inkrementelle Suche.Suchen Sie nach jedem eingegebenen Zeichen
set ignorecase "Suchmuster unterscheiden nicht zwischen Groß- und Kleinschreibung
set smartcase "Wenn das Suchmuster Großbuchstaben enthält, wird zwischen Groß- und Kleinschreibung unterschieden.
set hlsearch "Markieren Sie die Suchergebnisse
"Drücken Sie die ESC-Taste zweimal, um die Markierungen zu wechseln
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>
"----------------------------------------------------------
"Mauszeiger
"----------------------------------------------------------
set whichwrap=b,s,h,l,<,>,[,],~ "Sie können vom Ende einer Zeile zum Anfang der nächsten Zeile wechseln, indem Sie den Cursor nach links oder rechts bewegen.
set number "Zeilennummer anzeigen
set cursorline "Markieren Sie die Cursorzeile
"Wenn die Zeile umbrochen wird, bewegen Sie den Cursor um die angezeigte Zeile anstelle der Zeile.
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk
"Rücktaste aktivieren
set backspace=indent,eol,start
"----------------------------------------------------------
"Entsprechung von Klammern und Tags
"----------------------------------------------------------
set showmatch "Zeigen Sie für einen Moment die Entsprechung von Klammern an
set matchtime=3
set matchpairs& matchpairs+=<:>
source $VIMRUNTIME/macros/matchit.vim "Vims "%Erweitern
"----------------------------------------------------------
"Bewegen und scrollen Sie den Cursor mit der Maus
"----------------------------------------------------------
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
"----------------------------------------------------------
"Einfügen aus der Zwischenablage
"----------------------------------------------------------
"Verhindern Sie das automatische Einrücken, wenn Sie im Einfügemodus aus der Zwischenablage einfügen
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
"----------------------------------------------------------
"Dokumentenverwaltung
"----------------------------------------------------------
"Erstellen Sie keine Sicherungs- oder Auslagerungsdateien
set nowritebackup
set nobackup
set noswapfile
"----------------------------------------------------------
"Beziehungen anzeigen
"----------------------------------------------------------
set list "Visualisierung unsichtbarer Zeichen
set wrap "Langtext umbrechen
set colorcolumn=100 "Setzen Sie eine Linie auf das 100. Zeichen
"Bildschirmglocke deaktivieren
set t_vb=
set novisualbell
"Bereinigen Sie unsichtbare Zeichen mit Unicode
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:↲
"----------------------------------------------------------
"Makro- und Tasteneinstellungen
"----------------------------------------------------------
inoremap jj <Esc> "Wenn Sie im Eingabemodus schnell jj eingeben, wird dies als ESC betrachtet.
"Bringen Sie das Suchwort, das zum Suchwort gesprungen ist, in die Mitte des Bildschirms
nnoremap n nzz
nnoremap N Nzz
nnoremap * *zz
nnoremap # #zz
nnoremap g* g*zz
nnoremap g# g#zz
vnoremap v $h "Wählen Sie v zweimal bis zum Ende der Zeile
"Springe mit TAB zum entsprechenden Paar
nnoremap <Tab> %
vnoremap <Tab> %
" Shift +Fenstergröße mit Pfeil ändern
"nnoremap <S-Left> <C-w><<CR>
"nnoremap <S-Right> <C-w>><CR>
"nnoremap <S-Up> <C-w>-<CR>
"nnoremap <S-Down> <C-w>+<CR>
"Drücken Sie den Pfeil zweimal, um zum Anfang oder Ende der Zeile zu gelangen
inoremap <S-Left><S-Left> <Esc>_i
inoremap <S-Right><S-Right> <Esc>$i<Right>
"----------------------------------------------------------
"Neocomplete / Neosnippet-Einstellungen
"----------------------------------------------------------
if neobundle#is_installed('neocomplete.vim')
"Aktivieren Sie neocomplete beim Starten von Vim
let g:neocomplete#enable_at_startup = 1
"Smartcase aktiviert.Ignorieren Sie die Unterscheidung zwischen Groß- und Kleinschreibung, bis Großbuchstaben eingegeben werden
let g:neocomplete#enable_smart_case = 1
"Aktivieren Sie die Vervollständigung für Wörter mit 3 oder mehr Zeichen
let g:neocomplete#min_keyword_length = 3
"Füllen Sie bis zum Trennzeichen aus
let g:neocomplete#enable_auto_delimiter = 1
"Zeigen Sie das Abschluss-Popup von der Eingabe des ersten Zeichens an
let g:neocomplete#auto_completion_start_length = 1
"Schließen Sie das Abschluss-Popup mit der Rücktaste
inoremap <expr><BS> neocomplete#smart_close_popup()."<C-h>"
"Bestätigen Sie die Ergänzungskandidaten mit der Eingabetaste.Die Bereitstellung von Snippets wird auch mit der Eingabetaste bestätigt
imap <expr><CR> neosnippet#expandable() ? "<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "<C-y>" : "<CR>"
"Wählen Sie die Abschlusskandidaten mit der Tabulatortaste aus.Springe mit der Tabulatortaste in das Snippet
imap <expr><TAB> pumvisible() ? "<C-n>" : neosnippet#jumpable() ? "<Plug>(neosnippet_expand_or_jump)" : "<TAB>"
endif
"----------------------------------------------------------
" Syntastic
"----------------------------------------------------------
""Syntaxfehlerzeile">>"Show
let g:syntastic_enable_signs = 1
"Verhindern Sie Konflikte mit anderen Vim-Plugins
let g:syntastic_always_populate_loc_list = 1
"Syntaxfehlerliste ausblenden
let g:syntastic_auto_loc_list = 0
"Führen Sie beim Öffnen einer Datei eine Syntaxfehlerprüfung durch
let g:syntastic_check_on_open = 1
" 「:Suchen Sie nach Syntaxfehlern, auch wenn Sie mit "wq" enden.
let g:syntastic_check_on_wq = 1
"Für Javascript.Verwenden Sie ESLint zur Überprüfung von Syntaxfehlern
let g:syntastic_javascript_checkers=['eslint']
"Für Python.Verwenden Sie pep8 und pyflakes zur Überprüfung von Syntaxfehlern
let g:syntastic_python_checkers=['pep8', 'pyflakes']
" Javascript,Keine Syntaxfehlerprüfung außer 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' "Fenstereinstellungen anpassen."Anzeige unten,In Größe 20 Zeilen behoben,100 Suchergebnisse "
let g:ctrlp_show_hidden = 1 " .(Punkt)Suchen Sie nach Dateien, die mit beginnen
let g:ctrlp_types = ['fil'] "Verwenden Sie nur die Dateisuche
let g:ctrlp_extensions = ['funky', 'commandline'] "Verwenden Sie "funky" und "command line" als Erweiterungen von CtrlP
"Aktivieren Sie CtrlPCommandLine
command! CtrlPCommandLine call ctrlp#init(ctrlp#commandline#id())
"CtrlP Funky verfeinerte Sucheinstellungen
let g:ctrlp_funky_matchtype = 'path'
if executable('ag')
let g:ctrlp_use_caching=0 "Verwenden Sie keinen CtrlP-Cache
let g:ctrlp_user_command='ag %s -i --hidden -g ""' "Sucheinstellungen für "ag"
endif
"----------------------------------------------------------
"Zum Bearbeiten von Farbschemata
"----------------------------------------------------------
"Befehl, um die Markierungsgruppe zu kennen:Implementierte SyntaxInfo
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()
Wenn Sie dies nicht neu sind, fahren Sie bitte mit [hier] fort (# erste Einstellung).
Lassen Sie uns vorerst .vimrc
erstellen.
$ cd
$ vi .vimrc
** Sie könnten denken: "Nun, ist der vim-Startbefehl" vi "anstelle von" vim "?" **, aber zumindest für den Moment können beide als der gleiche Befehl betrachtet werden.
Zur Zeit denke ich, dass die .vimrc
in vim offen ist.
Ich denke, vim ist ziemlich schwierig, wenn Sie sich nicht daran gewöhnen. Deshalb werde ich vorerst nur das grundlegende Verständnis und die Befehle vorstellen, die am Anfang stehen.
vim hat mehrere Modi.
Der Normalmodus ist ein Modus zur Eingabe von Befehlen mit vim. Es befindet sich in diesem Modus, wenn Sie die Datei mit vim öffnen. In anderen Modi drücken Sie "Esc", um diesen Modus aufzurufen. Der Einfügemodus ist ein Modus zum Umschreiben von Sätzen und Code. Wenn Sie im normalen Modus "i" oder "o" eingeben, befinden Sie sich in diesem Modus und können den Text bearbeiten. Der visuelle Modus ist ein Modus zum Auswählen eines Bereichs. Geben Sie im normalen Modus "v" usw. ein, um diesen Modus aufzurufen. Sie können es zunächst nicht viel verwenden.
Im Moment denke ich, dass es in Ordnung ist, wenn Sie nur die folgenden Befehle in diesem Artikel berücksichtigen. Wenn Sie nicht genug haben, googeln Sie bitte jederzeit.
Befehle im normalen Modus
1 | 2 |
---|---|
i | Wechseln Sie in den Einfügemodus |
:w | sparen |
:q | Hör auf vim |
:wq | Speichern und beenden Sie vim |
dd | Löschen Sie eine Zeile |
yy | 1 Zeile Kopie |
p | Einfügen(Nur von innen nach innen) |
Befehle in anderen Modi
1 | 2 |
---|---|
Esc | Kehren Sie zum normalen Modus zurück |
Schreiben Sie das folgende Skript am Anfang von .vimrc
.
Dies ist ein Skript zum Aktivieren von Japanisch.
.vimrc
set encoding=utf-8
scriptencoding utf-8
Wenn Sie zum ersten Mal .vimrc
schreiben, schreiben Sie es bis jetzt und drücken Sie Esc
, um in den normalen Modus zu gelangen. Speichern Sie es mit: wq
und schließen Sie es.
Wenn Sie es erneut öffnen, ist Japanisch gültig.
Wenn Sie alles mit Kopieren und Einfügen erledigen möchten, tun Sie dies bisher manuell.
Das normale Kopieren und Einfügen sollte ärgerlich sein.
Wenn Sie dies tun, geben Sie im normalen Modus : q!
Ein und schließen Sie es ohne zu speichern, wenn die Behebung schwierig ist.
.vimrc
"----------------------------------------------------------
"Einfügen aus der Zwischenablage
"----------------------------------------------------------
"Verhindern Sie das automatische Einrücken, wenn Sie im Einfügemodus aus der Zwischenablage einfügen
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
Sie können jetzt aus der Zwischenablage kopieren und einfügen. Mit anderen Worten, Sie können Sätze von Internetseiten kopieren und in von vim geöffnete Dateien einfügen. Praktisch!
NeoBundle
Es scheint, dass das Ende der Entwicklung von "NeoBundle" vor langer Zeit erklärt wurde. Der Entwickler scheint "dein" zu empfehlen. Wenn Sie möchten, schreiben Sie es bitte unter Bezugnahme auf hier neu. Ich kann mich bewegen, wenn ich Lust dazu habe, also kann ich zu diesem Zeitpunkt wieder einen Artikel schreiben ...
.vimrc
"----------------------------------------------------------
" NeoBundle
"----------------------------------------------------------
if has('vim_starting')
"Geben Sie den NeoBundle-Pfad im Laufzeitpfad nur beim ersten Start an
set runtimepath+=~/.vim/bundle/neobundle.vim/
"Git-Klon, wenn NeoBundle nicht installiert ist
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/'))
"Beschreiben Sie das unten zu installierende Vim-Plug-In
"Verwalten Sie NeoBundle selbst
NeoBundleFetch 'Shougo/neobundle.vim'
"Farbschema
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'
"Blumencharakter
"NeoBundle 'sainnhe/icursive-nerd-font'
"Untersuchen Sie das Farbschema
NeoBundle 'guns/xterm-color-table.vim'
"Verbesserte Statuszeilenanzeige
NeoBundle 'itchyny/lightline.vim'
"Einrückungsvisualisierung
NeoBundle 'Yggdroot/indentLine'
"Leerzeichen in voller Breite und halber Breite am Ende werden rot hervorgehoben
NeoBundle 'bronson/vim-trailing-whitespace'
"Syntaxfehlerprüfung
NeoBundle 'scrooloose/syntastic'
"Multifunktionswähler
NeoBundle 'ctrlpvim/ctrlp.vim'
"Laden Sie die im Projekt enthaltene ESLint
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'
"CtrlP-Erweiterungs-Plug-In.Funktionssuche
NeoBundle 'tacahiroy/ctrlp-funky'
"CtrlP-Erweiterungs-Plug-In.Befehlsverlaufssuche
NeoBundle 'suy/vim-ctrlp-commandline'
"Verwenden Sie ag, um nach CtrlP zu suchen
NeoBundle 'rking/ag.vim'
"Vervollständigung des Python-Codes
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"
"Installieren Sie das folgende Vim-Plug-In nur, wenn die Lua-Funktion von Vim verfügbar ist
if has('lua')
"Automatische Vervollständigung des Codes
NeoBundle 'Shougo/neocomplete.vim'
"Snippet-Vervollständigungsfunktion
NeoBundle "Shougo/neosnippet"
"Snippet-Sammlung
NeoBundle 'Shougo/neosnippet-snippets'
endif
call neobundle#end()
"Vim-Plug-In nach Dateityp/Einrückung aktivieren
filetype plugin indent on
"Einstellungen, in denen Sie gefragt werden, ob Sie nicht installierte Vim-Plug-Ins installieren möchten
NeoBundleCheck
Die Erklärung jedes Plug-Ins wird im Allgemeinen weggelassen, da es in [hier] eine äußerst sorgfältige Erklärung gibt (https://qiita.com/ahiruman5/items/4f3c845500c172a02935).
NeoBundle
KörperbeziehungenExtrahieren Sie die Teile, die sich auf den NeoBundle-Körper beziehen. Jede Operation ist wie in den Kommentaren beschrieben.
.vimrc
if has('vim_starting')
"Geben Sie den NeoBundle-Pfad im Laufzeitpfad nur beim ersten Start an
set runtimepath+=~/.vim/bundle/neobundle.vim/
"Git-Klon, wenn NeoBundle nicht installiert ist
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/'))
"Beschreiben Sie das unten zu installierende Vim-Plug-In
"Verwalten Sie NeoBundle selbst
NeoBundleFetch 'Shougo/neobundle.vim'
...
call neobundle#end()
"Vim-Plug-In nach Dateityp/Einrückung aktivieren
filetype plugin indent on
"Einstellungen, in denen Sie gefragt werden, ob Sie nicht installierte Vim-Plug-Ins installieren möchten
NeoBundleCheck
Ich persönlich habe das Farbschema ausprobiert, aber das Wrack ist auskommentiert ... Molokai ist berühmt. Ich persönlich mag jedoch Eisberg. Außerdem werde ich pyceberg vorstellen, das leicht angepasst ist, damit ich es später leichter sehen kann ~~ (Daima) ~~.
.vimrc
"Farbschema
"NeoBundle 'tomasr/molokai'
"NeoBundle 'flrnd/plastic.vim'
"NeoBundle 'sainnhe/edge'
NeoBundle 'cocopon/iceberg.vim'
Die Aktivierungsmethode wird auch [später] eingeführt (#Aktivierung des Farbschemas).
Ich konnte die Blumenbuchstaben aus irgendeinem Grund nicht verwenden. ~~ Ich wollte es benutzen, weil es cool war. ~~ Ich habe viel recherchiert, aber es hat nur den Hintergrund der Zeichenfolge hervorgehoben ... Bitte lassen Sie mich wissen, wenn jemand irgendwelche Informationen hat
.vimrc
"Blumencharakter
"NeoBundle 'sainnhe/icursive-nerd-font'
Weitere Informationen hier
Sie können den Befehl : XtermColorTable
verwenden, mit dem eine Liste der verfügbaren Farben angezeigt werden kann.
Es ist sehr nützlich für Farbanpassung des Farbschemas.
.vimrc
"Untersuchen Sie das Farbschema
NeoBundle 'guns/xterm-color-table.vim'
Weitere Informationen [hier](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) Kurz gesagt, ich bin dankbar, dass weitere Informationen angezeigt werden.
.vimrc
"Verbesserte Statuszeilenanzeige
NeoBundle 'itchyny/lightline.vim'
Sie müssen die Statuszeile aktivieren. Weitere Informationen finden Sie unter [hier](# Statuszeile aktivieren).
Wie es ist. Sie können den Einzug sehen. Einrückungslinien sind in jeder Sprache wichtig, nicht wahr?
.vimrc
"Einrückungsvisualisierung
NeoBundle 'Yggdroot/indentLine'
Macht leere Zeichen im Code mit einer roten Markierung sichtbar.
Ich kann aus Platzgründen nicht kompilieren! Dafür bin ich sehr dankbar.
Außerdem können Sie alle unerwünschten Leerzeichen löschen, die mit dem Befehl : FixWhitespace
hervorgehoben wurden!
Verlassen Sie sich nicht zu sehr darauf und codieren Sie immer sorgfältig.
.vimrc
"Leerzeichen in voller Breite und halber Breite am Ende werden rot hervorgehoben
NeoBundle 'bronson/vim-trailing-whitespace'
Die Operation ist [hier](https://qiita.com/ahiruman5/items/4f3c845500c172a02935#-syntastic%E6%A7%8B%E6%96%87%E3%82%A8%E3%83%A9%E3%83 Sie können es sehen, indem Sie sich% BC% E3% 83% 81% E3% 82% A7% E3% 83% 83% E3% 82% AF ansehen. Es fühlt sich so an, als würde es Ihnen sagen, ob ein Grammatikfehler vorliegt.
.vimrc
"Syntaxfehlerprüfung
NeoBundle 'scrooloose/syntastic'
"Laden Sie die im Projekt enthaltene ESLint
NeoBundle 'pmsorhaindo/syntastic-local-eslint.vim'
Siehe hier, da die Syntax von Python nicht selbst überprüft wird.
Es ist ein Plug-In, das Dateien und Puffer durchsucht. Ich glaube nicht, dass ich es benutze ... Bedeutet das, dass es immer noch nicht genug Training gibt ...
.vimrc
"Multifunktionswähler
NeoBundle 'ctrlpvim/ctrlp.vim'
"CtrlP-Erweiterungs-Plug-In.Funktionssuche
NeoBundle 'tacahiroy/ctrlp-funky'
"CtrlP-Erweiterungs-Plug-In.Befehlsverlaufssuche
NeoBundle 'suy/vim-ctrlp-commandline'
"Verwenden Sie ag, um nach CtrlP zu suchen
NeoBundle 'rking/ag.vim'
Klicken Sie hier, um die diesbezüglichen CtrlP-Einstellungen anzuzeigen (#ctrlp-Einstellungen).
Es ist ein Coding-Verbündeter, Code-Vervollständigung. Apropos, ich dachte, es wäre in Ordnung, "jedi-vim" zu verwenden, auch wenn es nicht "neocomplete" wäre, aber ich lasse es, weil es kein Problem ist, wenn es anders ist. Ich kann es bald klären.
.vimrc
"Vervollständigung des Python-Codes
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"
"Installieren Sie das folgende Vim-Plug-In nur, wenn die Lua-Funktion von Vim verfügbar ist
if has('lua')
"Automatische Vervollständigung des Codes
NeoBundle 'Shougo/neocomplete.vim'
"Snippet-Vervollständigungsfunktion
NeoBundle "Shougo/neosnippet"
"Snippet-Sammlung
NeoBundle 'Shougo/neosnippet-snippets'
endif
Die Einstellung von neocomplete
ist [hier](Einstellung von #neocomplete)
Farbschema aktivieren. Wie im Beispiel ist der auskommentierte Teil das Wrack. Bitte verwenden Sie die, die Sie mögen.
.vimrc
"----------------------------------------------------------
"Farbschema
"----------------------------------------------------------
"Stellen Sie Molokai für das Farbschema ein
"if neobundle#is_installed('molokai')
" colorscheme molokai
"endif
"colorscheme murphy
"Auf Plastik einstellen
"if neobundle#is_installed('plastic')
" colorscheme plastic
"endif
"Auf Neon einstellen
"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
"Auf Eisberg setzen
if neobundle#is_installed('iceberg.vim')
colorscheme iceberg
endif
set t_Co=256 "Sie müssen keine 256-Farben-Umgebung wie iTerm2 haben
syntax enable "Färben Sie die Syntax
Schauen Sie sich unbedingt [pyceberg] an (https://github.com/kuroitu/pyceberg)! !! ~~ (2. Daima) ~~ Für eine Einführung wie Einführung hier
Eine Sammlung von Einstellungen für Zeichencodes.
.vimrc
"----------------------------------------------------------
"Brief
"----------------------------------------------------------
set fileencoding=utf-8 "Zeichencode zum Zeitpunkt des Speicherns
set fileencodings=ucs-boms,utf-8,euc-jp,cp932 "Automatische Bestimmung des Zeichencodes zum Zeitpunkt des Lesens.Die linke Seite hat Priorität
set fileformats=unix,dos,mac "Automatische Erkennung des Zeilenvorschubcodes.Die linke Seite hat Priorität
set ambiwidth=double "Das Problem, dass die Zeichen □ und ○ zusammenbrachen, wurde behoben
Aktivieren Sie die Statuszeile (am unteren Rand des VIM-Editors).
"----------------------------------------------------------
"Statuszeile
"----------------------------------------------------------
set laststatus=2 "Statuszeile immer anzeigen
set showmode "Aktuellen Modus anzeigen
set showcmd "Zeigen Sie den eingegebenen Befehl unterhalb der Statuszeile an
set ruler "Zeigen Sie die Cursorposition rechts von der Statuszeile an
Sie können im normalen Modus verschiedene Befehle eingeben, dies ist jedoch eine Funktion, die Sie unterstützt. Wenn Sie weniger Befehlsverlauf haben, werden Sie wahrscheinlich keine Probleme haben.
.vimrc
"----------------------------------------------------------
"Befehlsmodus
"----------------------------------------------------------
set wildmenu "Abschluss des Befehlsmodus
set history=5000 "Anzahl der zu speichernden Befehlsverläufe
Es ist sehr wichtig, um Tabulatoren, Einrückungen und einfach zu lesenden Code zu schreiben. Ich persönlich habe das Gefühl, dass es schwierig ist zu erkennen, ob die Breite des Einzugs zu groß ist, deshalb habe ich sie auf "2" gesetzt, aber aus irgendeinem Grund wird sie beim Schreiben von Python-Code ohne Erlaubnis zu "4". Nun, Python ist ein stillschweigendes Verständnis und es ist gut, weil die Tendenz besteht, dass die Breite des Einzugs 4 beträgt. Es wird [Einzug oder Visualisierung] sein (#Indent Visualization).
.vimrc
"----------------------------------------------------------
"Tab-Einzug
"----------------------------------------------------------
set expandtab "Ersetzen Sie die Registerkarteneingabe durch mehrere leere Eingaben
set tabstop=2 "Die Breite der Tabulatorzeichen auf dem Bildschirm
set softtabstop=2 "Die Breite, um die sich der Cursor mit der Tabulatortaste und der Rücktaste für aufeinanderfolgende Leerzeichen bewegt
set autoindent "Setzen Sie das Einrücken der vorherigen Zeile bei Unterbrechung fort
set smartindent "Überprüfen Sie die Syntax der vorherigen Zeile zum Zeitpunkt des Zeilenumbruchs und erhöhen / verringern Sie den Einzug der nächsten Zeile
set shiftwidth=2 "Breite, die mit dem intelligenten Einzug zunimmt oder abnimmt
Dies ist auch eine wichtige Einstellung. Die Suche nach Zeichenketten wird bequem.
.vimrc
"----------------------------------------------------------
"String-Suche
"----------------------------------------------------------
set incsearch "Inkrementelle Suche.Suchen Sie nach jedem eingegebenen Zeichen
set ignorecase "Suchmuster unterscheiden nicht zwischen Groß- und Kleinschreibung
set smartcase "Wenn das Suchmuster Großbuchstaben enthält, wird zwischen Groß- und Kleinschreibung unterschieden.
set hlsearch "Markieren Sie die Suchergebnisse
"Drücken Sie die ESC-Taste zweimal, um die Markierungen zu wechseln
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>
Die Zeichenfolgensuche lautet übrigens "/ (die Zeichenfolge, nach der Sie suchen möchten)"
Das Ersetzen von Zeichenfolgen ist im Grunde :% s / (zu ersetzende Zeichenfolge) / (Zeichenfolge nach dem Ersetzen)
.
In vim können Sie im normalen Modus "h, j, k, l" verwenden, um nach "unten links" bzw. "oben rechts" zu wechseln. Wenn Sie sich jedoch mit einem solchen Befehl bewegen, wird eine Zeile umbrochen und angezeigt, weil Sie einen langen Code geschrieben haben. Wenn Sie sich beispielsweise mit "j" bewegen, bewegt sich der Cursor zur nächsten Zeile anstatt zu einer Zeile nach unten, wie es aussieht. Hier wird es eingestellt, um es zu lösen und die Cursorzeile hervorzuheben.
/.vimrc
"----------------------------------------------------------
"Mauszeiger
"----------------------------------------------------------
set whichwrap=b,s,h,l,<,>,[,],~ "Sie können vom Ende einer Zeile zum Anfang der nächsten Zeile wechseln, indem Sie den Cursor nach links oder rechts bewegen.
set number "Zeilennummer anzeigen
set cursorline "Markieren Sie die Cursorzeile
"Wenn die Zeile umbrochen wird, bewegen Sie den Cursor um die angezeigte Zeile anstelle der Zeile.
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk
"Rücktaste aktivieren
set backspace=indent,eol,start
Die entsprechende Klammer blinkt beim Codieren für einen Moment. Dies ist nützlich, wenn Sie viele Klammern schreiben.
.vimrc
"----------------------------------------------------------
"Entsprechung von Klammern und Tags
"----------------------------------------------------------
set showmatch "Zeigen Sie für einen Moment die Entsprechung von Klammern an
set matchtime=3
set matchpairs& matchpairs+=<:>
source $VIMRUNTIME/macros/matchit.vim "Vims "%Erweitern
Ich kann die Maus nicht mit dem Standard-Vim verwenden. Trackpads können ebenfalls nicht verwendet werden. Also lasst es uns einstellen.
.vimrc
"----------------------------------------------------------
"Bewegen und scrollen Sie den Cursor mit der Maus
"----------------------------------------------------------
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
Wenn Sie eine Datei mit vim bearbeiten, wird automatisch eine Sicherungsdatei oder eine Auslagerungsdatei erstellt, die ich jedoch nicht separat benötige. Deaktivieren Sie sie daher. (Wenn Sie eine Dateisicherung benötigen, sollten Sie git zuerst verwenden.)
.vimrc
"----------------------------------------------------------
"Dokumentenverwaltung
"----------------------------------------------------------
"Erstellen Sie keine Sicherungs- oder Auslagerungsdateien
set nowritebackup
set nobackup
set noswapfile
Visualisieren Sie Leerzeichen, Zeilenumbrüche, Tabulatoren usw. Ich werde es einpacken, wenn der Satz länger wird.
.vimrc
"----------------------------------------------------------
"Beziehungen anzeigen
"----------------------------------------------------------
set list "Visualisierung unsichtbarer Zeichen
set wrap "Langtext umbrechen
set colorcolumn=100 "Setzen Sie eine Linie auf das 100. Zeichen
"Bildschirmglocke deaktivieren
set t_vb=
set novisualbell
"Bereinigen Sie unsichtbare Zeichen mit Unicode
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:↲
Hier werden die Standardtastenbindungen für die intuitive Verwendung überschrieben oder neu festgelegt. Bitte nach Belieben hinzufügen oder entfernen.
--nnoremap
ist die Tasteneinstellung im normalen Modus
--inoremap
ist die Tasteneinstellung im Einfügemodus
--vnoremap
ist die Tasteneinstellung im visuellen Modus
--<S>
ist die Umschalttaste
.vimrc
"----------------------------------------------------------
"Makro- und Tasteneinstellungen
"----------------------------------------------------------
inoremap jj <Esc> "Wenn Sie im Eingabemodus schnell jj eingeben, wird dies als ESC betrachtet.
"Bringen Sie das Suchwort, das zum Suchwort gesprungen ist, in die Mitte des Bildschirms
nnoremap n nzz
nnoremap N Nzz
nnoremap * *zz
nnoremap # #zz
nnoremap g* g*zz
nnoremap g# g#zz
vnoremap v $h "Wählen Sie v zweimal bis zum Ende der Zeile
"Springe mit TAB zum entsprechenden Paar
nnoremap <Tab> %
vnoremap <Tab> %
" Shift +Fenstergröße mit Pfeil ändern
"nnoremap <S-Left> <C-w><<CR>
"nnoremap <S-Right> <C-w>><CR>
"nnoremap <S-Up> <C-w>-<CR>
"nnoremap <S-Down> <C-w>+<CR>
"Drücken Sie den Pfeil zweimal, um zum Anfang oder Ende der Zeile zu gelangen
inoremap <S-Left><S-Left> <Esc>_i
inoremap <S-Right><S-Right> <Esc>$i<Right>
neocomplete
EinstellungenDie Einstellung von "neocomplete" und die Einstellung von "neosnippet". Es scheint, dass es verschiedene andere Optionen gibt, aber ich denke, dass das Folgende im Allgemeinen ausreicht. Für mehr Informationen
--neocomplete
ist hier
--neosnippet
ist hier
Bitte wende dich an die.
.vimrc
"----------------------------------------------------------
"Neocomplete / Neosnippet-Einstellungen
"----------------------------------------------------------
if neobundle#is_installed('neocomplete.vim')
"Aktivieren Sie neocomplete beim Starten von Vim
let g:neocomplete#enable_at_startup = 1
"Smartcase aktiviert.Ignorieren Sie die Unterscheidung zwischen Groß- und Kleinschreibung, bis Großbuchstaben eingegeben werden
let g:neocomplete#enable_smart_case = 1
"Aktivieren Sie die Vervollständigung für Wörter mit 3 oder mehr Zeichen
let g:neocomplete#min_keyword_length = 3
"Füllen Sie bis zum Trennzeichen aus
let g:neocomplete#enable_auto_delimiter = 1
"Zeigen Sie das Abschluss-Popup von der Eingabe des ersten Zeichens an
let g:neocomplete#auto_completion_start_length = 1
"Schließen Sie das Abschluss-Popup mit der Rücktaste
inoremap <expr><BS> neocomplete#smart_close_popup()."<C-h>"
"Bestätigen Sie die Ergänzungskandidaten mit der Eingabetaste.Die Bereitstellung von Snippets wird auch mit der Eingabetaste bestätigt
imap <expr><CR> neosnippet#expandable() ? "<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "<C-y>" : "<CR>"
"Wählen Sie die Abschlusskandidaten mit der Tabulatortaste aus.Springe mit der Tabulatortaste in das Snippet
imap <expr><TAB> pumvisible() ? "<C-n>" : neosnippet#jumpable() ? "<Plug>(neosnippet_expand_or_jump)" : "<TAB>"
endif
Syntastic
EinstellungenEs ist eine Sammlung von Einstellungen für die Syntaxprüffunktion. Aber warum scheint es in meiner Umgebung nicht zu funktionieren ...? Irgendwas stimmt nicht ...
.vimrc
"----------------------------------------------------------
" Syntastic
"----------------------------------------------------------
""Syntaxfehlerzeile">>"Show
let g:syntastic_enable_signs = 1
"Verhindern Sie Konflikte mit anderen Vim-Plugins
let g:syntastic_always_populate_loc_list = 1
"Syntaxfehlerliste ausblenden
let g:syntastic_auto_loc_list = 0
"Führen Sie beim Öffnen einer Datei eine Syntaxfehlerprüfung durch
let g:syntastic_check_on_open = 1
" 「:Suchen Sie nach Syntaxfehlern, auch wenn Sie mit "wq" enden.
let g:syntastic_check_on_wq = 1
"Für Javascript.Verwenden Sie ESLint zur Überprüfung von Syntaxfehlern
let g:syntastic_javascript_checkers=['eslint']
"Für Python.Verwenden Sie pep8 und pyflakes zur Überprüfung von Syntaxfehlern
let g:syntastic_python_checkers=['pep8', 'pyflakes']
" Javascript,Keine Syntaxfehlerprüfung außer Python
let g:syntastic_mode_map = { 'mode': 'passive',
\ 'active_filetypes': ['javascript', 'python'],
\ 'passive_filetypes': [] }
Übrigens sind "pep8" und "pyflakes"
$ pip install pep8 pyflakes
Sie können es mit installieren. Weitere Informationen hier
Plug-In-Einstellung [Multifunktionswähler](# Multifunktionswähler). Ich stelle die Dateierkennung ein.
.vimrc
"----------------------------------------------------------
" CtrlP
"----------------------------------------------------------
let g:ctrlp_match_window = 'order:ttb,min:20,max:20,results:100' "Fenstereinstellungen anpassen."Anzeige unten,In Größe 20 Zeilen behoben,100 Suchergebnisse "
let g:ctrlp_show_hidden = 1 " .(Punkt)Suchen Sie nach Dateien, die mit beginnen
let g:ctrlp_types = ['fil'] "Verwenden Sie nur die Dateisuche
let g:ctrlp_extensions = ['funky', 'commandline'] "Verwenden Sie "funky" und "command line" als Erweiterungen von CtrlP
"Aktivieren Sie CtrlPCommandLine
command! CtrlPCommandLine call ctrlp#init(ctrlp#commandline#id())
"CtrlP Funky verfeinerte Sucheinstellungen
let g:ctrlp_funky_matchtype = 'path'
if executable('ag')
let g:ctrlp_use_caching=0 "Verwenden Sie keinen CtrlP-Cache
let g:ctrlp_user_command='ag %s -i --hidden -g ""' "Sucheinstellungen für "ag"
endif
Dies ist ein praktischer Befehl, der Ihnen die Syntaxgruppe des Codes angibt, auf den Sie derzeit beim Bearbeiten eines Farbschemas zeigen.
.vimrc
"----------------------------------------------------------
"Zum Bearbeiten von Farbschemata
"----------------------------------------------------------
"Befehl, um die Markierungsgruppe zu kennen:Implementierte SyntaxInfo
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()
Ich habe auf [hier] verwiesen (https://qiita.com/sff1019/items/3f73856b78d7fa2731c7). Farbschemata sind beim Codieren mit vim überraschend wichtig. Wenn Sie nur helle Farben verwenden, werden Ihre Augen müde, und wenn sie alle dieselbe Farbe haben, werden Sie keine Rechtschreibfehler bemerken, und die Codierungseffizienz wird sich ohnehin verschlechtern. Sie können "Dies ist das Farbschema!" Auf verschiedenen Websites sehen oder auf der vorhandenen Website, auf der Sie nach Farbschemata suchen können nach etwas Gutem für Sie suchen. Haben Sie das Gefühl, nicht überzeugt zu sein, auch wenn Sie kommen? Es ist also sehr einfach, aber ich werde erklären, wie das Farbschema bearbeitet wird.
Das Erstellen eines eigenen Farbschemas von Grund auf kann entmutigend sein. Tun Sie es also nicht. Sie können es genug machen, indem Sie das Farbschema bearbeiten, das Ihnen gerade am besten gefällt. Ich mochte Eisberg, also habe ich es ein wenig basierend darauf bearbeitet.
Wenn Sie sich für das zugrunde liegende Farbschema entschieden haben, finden Sie heraus, welche Teile der Farbe Ihnen nicht gefallen.
Sie finden die Markierungsgruppe in : SyntaxInfo
unter [Früher eingeführt](# zum Bearbeiten des Farbschemas). Bearbeiten Sie sie daher basierend darauf.
** Lass diesen Python-Code offen! ** ** **
Wenn das Farbschema von "NeoBundle" verwaltet wird
~/.vim/bundle/
Ich denke es ist drinnen. Dieses Mal werde ich "Eisberg" bearbeiten
$ vi ~/.vim/bundle/iceberg.vim/colors/iceberg.vim
Öffnen Sie das Farbschema mit.
Schauen wir uns die Definition als vim string search / pythonstring
an.
Nein Ja.
Das heißt, Sie müssen es selbst schreiben.
Sie können es überall hinzufügen, aber leicht verständlich machen.
Dieses Mal werde ich es ganz am Ende des Teils einfügen, der die Farbe des Farbschemas direkt definiert.
Sie können es schreiben, indem Sie es imitieren.
Welche Farbe hast du? Lesen wir dazu die in [hier] eingeführte : XtermColorTable
(#Überprüfen Sie das Farbschema).
Dieses Mal verwenden wir ctermfg = 40, guifg = # 00df00
.
Sie können die hexadezimale Zahl von guifg
sehen, indem Sie den Bereich im visuellen Modus ~ auswählen
Wenn Sie es schreiben können, speichern Sie es vorerst als ** : w
. ** ** **
** Noch nicht schließen! ** ** **
Fahren wir nun mit dem Python-Codebildschirm fort.
Geben Sie : syntax on
ein und die neue Farbe sollte wiedergegeben werden.
Es ist zu auffällig ~ Lass es uns doch stoppen Diese Farbe kann sich von der Farbe unterscheiden, die ich dachte, also gehe zurück zu [Schreiben](# Schreiben) und bearbeite sie erneut Überprüfen und wiederholen Sie ~.
Dies ist das Ende der Erklärung zum Bearbeiten des Farbschemas!
Nun, ich habe das Farbschema bearbeitet und es ist perfekt! Für diejenigen unter Ihnen, die denken, ich habe einen weiteren wichtigen Faktor vergessen!
Es ist die Existenz einer ** Syntaxdatei **.
Eine Syntaxdatei ist eine Datei, die die Grammatik unverändert zusammenfasst.
Wenn Sie Python mit vim schreiben, sollten Sie dies einschließen.
Es gibt eine Python-Syntaxdatei in hier, aber diese (aus irgendeinem Grund) Attribute wie Klassenmethoden Ich kann die Farbe von (foo
in hoge.foo
) nicht ändern.
Also habe ich ein wenig hier python.vim
gemäß README.md
geändert
~/.vim/syntax/
Lassen Sie es uns einfügen. Dann sollten Sie auch die Farbe der Attribute ändern können!
pyceberg Zuletzt möchte ich für pyceberg werben, das durch diesen Artikel gedimmt wurde. Das Grundelement ist Eisberg, und ich habe die Farbe nach meinen Wünschen geändert. Bitte benutzen Sie es, wenn Sie möchten.
Die Installationsmethode ist in "README.md" beschrieben.
Am einfachsten ist .vimrc
.vimrc
NeoBundle ‘kuroitu/pyceberg’
colorscheme pyceberg
Ist es der Weg, es zu tun?
Es sieht so aus ↓ (Das Bild stammt aus dem Numpy-Code)
Es war ein sehr langer Artikel ... Nun, ich hoffe es wird hilfreich für Sie sein.