Für diejenigen, die Python mit vim schreiben möchten

Zielperson

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.

Inhaltsverzeichnis

[Für Erstbenutzer](#Für Erstbenutzer) - [Grundverständnis](# Grundverständnis) - [Befehl](#Befehl) - [Erste Einstellung](#Erste Einstellung) - [Kopieren / Einfügen über Zwischenablage aktivieren](# Kopieren / Einfügen über Zwischenablage aktivieren) -
[Plug-in-Verwaltung `NeoBundle`](# Plug-in-Verwaltung neobundle) - [`NeoBundle` Körper verwandt](#neobundle Körper verwandt) - [Farbschema](# Farbschema) - [Blumenzeichen](# Blumenzeichen) - [Farbschema prüfen](# Farbschema prüfen) - [Erweiterte Statuszeilenanzeige](# Verbesserte Statuszeilenanzeige) - [Einrückungsvisualisierung](# Einrückungsvisualisierung) - [Unnötigen Platz markieren](# Unnötigen Platz markieren) - [Syntaxfehlerprüfung](# Syntaxfehlerprüfung) - [Multifunktionswähler](# Multifunktionswähler) - [Code-Vervollständigung](# Code-Vervollständigung) - [Farbschema aktivieren](# Farbschema aktivieren) - [Zeichencodeeinstellung](# Zeichencodeeinstellung) - [Statuszeile aktivieren](# Statuszeile aktivieren) - [Einstellungen für den Befehlsmodus](# Einstellungen für den Befehlsmodus) - [Tab- und Einrückungseinstellungen](# Tab- und Einrückungseinstellungen) - [Zeichenketten-Suche](# Zeichenketten-Suche) - [Cursor bewegen usw.](# Cursor bewegen usw.) - [Entsprechung von Klammern und Tags](# Entsprechung von Klammern und Tags) - [Maus aktivieren](# Maus aktivieren) - [Dateiverwaltung](#Dateiverwaltung) - [Anzeige bezogen](# Anzeige bezogen) - [Makro- und Tasteneinstellungen](# Makro- und Tasteneinstellungen) - [`neocomplete` settings](#neocomplete settings) - [`Syntastic` settings](#syntastic settings) - [CtrlP-Einstellungen](#ctrlp-Einstellungen) - [Zum Bearbeiten des Farbschemas](#Zum Bearbeiten des Farbschemas) - [Farbschema bearbeiten](# Farbschema bearbeiten) - [Finden Sie zuerst das ursprüngliche Farbschema](# Zuerst suchen Sie das ursprüngliche Farbschema) - [Welchen Teil magst du? ](# Ich mag nicht welchen Teil) - [Open Color Scheme](#Open Color Scheme) - [Zielsyntaxgruppe suchen](# Zielsyntaxgruppe suchen) - [Versuche zu schreiben](# Versuche zu schreiben) - [Bestätigen](# Bestätigen) - [Syntaxdatei](# Syntaxdatei) - [pyceberg](#pyceberg) - [Schlussfolgerung](#Fazit)

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

.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()

Ratgeber für Anfänger

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.

Grundlegendes Verständnis

vim hat mehrere Modi.

  • Normalmodus (Befehlseingabe)
  • Einfügemodus (Textbearbeitung) --Visueller Modus (Bereichsauswahl)

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.

Befehl

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

Grundeinstellung

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.

Aktivieren Sie das Kopieren und Einfügen über die Zwischenablage

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.

Kopieren und Einfügen aktivieren

.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!

Plugin Management 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 ...

NeoBundle

.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örperbeziehungen

Extrahieren Sie die Teile, die sich auf den NeoBundle-Körper beziehen. Jede Operation ist wie in den Kommentaren beschrieben.

Hauptkörperbeziehungen

.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

Farbschema

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).

Blumencharakter

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'

Untersuchen Sie das Farbschema

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'

Verbesserte Statuszeilenanzeige

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).

Einrückungsvisualisierung

Wie es ist. Sie können den Einzug sehen. Einrückungslinien sind in jeder Sprache wichtig, nicht wahr?

.vimrc


"Einrückungsvisualisierung
NeoBundle 'Yggdroot/indentLine'

Markieren Sie unnötigen Platz

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'

Syntaxfehlerprüfung

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.

Multifunktionswähler

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).

Code-Vervollständigung

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.

Code-Vervollständigung

.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

Farbschema aktivieren. Wie im Beispiel ist der auskommentierte Teil das Wrack. Bitte verwenden Sie die, die Sie mögen.

Sammlung der Farbschemaeinstellungen

.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

Zeichencodeeinstellung

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

Aktivierung der Statuszeile

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

Einstellungen für den Befehlsmodus

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

Registerkarten- und Einrückungseinstellungen

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

String-Suche

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).

Bewegen Sie den Cursor usw.

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.

Cursor-bezogen

/.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

Entsprechung von Klammern und Tags

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

Mausaktivierung

Ich kann die Maus nicht mit dem Standard-Vim verwenden. Trackpads können ebenfalls nicht verwendet werden. Also lasst es uns einstellen.

Mausaktivierung

.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

Dokumentenverwaltung

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

Beziehungen anzeigen

Visualisieren Sie Leerzeichen, Zeilenumbrüche, Tabulatoren usw. Ich werde es einpacken, wenn der Satz länger wird.

Anzeigebezogene Einstellungen

.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:↲

Makros und Tasteneinstellungen

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

  • "" ist die "Strg" -Taste
Makro- und Tasteneinstellungen

.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 Einstellungen

Die 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.

Einstellungen für die Code-Vervollständigung

.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 Einstellungen

Es ist eine Sammlung von Einstellungen für die Syntaxprüffunktion. Aber warum scheint es in meiner Umgebung nicht zu funktionieren ...? Irgendwas stimmt nicht ...

`Syntastic` settings

.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

StrgP-Einstellungen

Plug-In-Einstellung [Multifunktionswähler](# Multifunktionswähler). Ich stelle die Dateierkennung ein.

CtrlP-Einstellungen

.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

Zum Bearbeiten von Farbschemata

Dies ist ein praktischer Befehl, der Ihnen die Syntaxgruppe des Codes angibt, auf den Sie derzeit beim Bearbeiten eines Farbschemas zeigen.

`: Aktivieren Sie den Befehl SyntaxInfo`

.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()

SyntaxInfo.gif

Farbschemata bearbeiten

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.

Finden Sie zuerst das ursprüngliche Farbschema

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.

Welchen Teil magst du?

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.

PythonString.gif

** Lass diesen Python-Code offen! ** ** **

Offenes Farbschema

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.

Suchen Sie nach der Zielsyntaxgruppe

Schauen wir uns die Definition als vim string search / pythonstring an. search_PythonString.gif 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. define_last.png

ich werde schreiben

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 colortable.png write_pythonstring.png Wenn Sie es schreiben können, speichern Sie es vorerst als ** : w. ** ** ** ** Noch nicht schließen! ** ** **

Bestätigen

Fahren wir nun mit dem Python-Codebildschirm fort. Geben Sie : syntax on ein und die neue Farbe sollte wiedergegeben werden. reflect.gif 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!

Syntaxdatei

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) screenshot1.png screenshot2.png

abschließend

Es war ein sehr langer Artikel ... Nun, ich hoffe es wird hilfreich für Sie sein.

Referenz

Recommended Posts

Für diejenigen, die Python mit vim schreiben möchten
Für diejenigen, die Excel VBA lernen und mit Python beginnen möchten
Für diejenigen, die mit TensorFlow2 maschinelles Lernen beginnen möchten
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
Umgebungskonstruktion für diejenigen, die Python einfach mit VSCode (für Mac) lernen möchten
Python-Technik für diejenigen, die Anfänger loswerden wollen
Ich möchte mit Python in eine Datei schreiben
Schreiben Sie mit Python in csv
[Kurzer Satz] easygui für diejenigen, die sehr einfach eine einfache GUI mit Python verwenden möchten
Ärgerliche Punkte für diejenigen, die Ansible vorstellen möchten
Treten Sie Azure mit Go ~ bei Für diejenigen, die Azure mit Go ~ starten und kennenlernen möchten
[Python] Mit Python in eine CSV-Datei schreiben
Ich möchte mit Python debuggen
Referenz Referenz für diejenigen, die mit Rhinoceros / Grasshopper codieren möchten
Für diejenigen, die neu in der Programmierung sind, sich aber entschieden haben, Daten mit Python zu analysieren
PyPI-Registrierungsverfahren für diejenigen, die ihr PyPI-Debüt geben möchten
Schreiben Sie Python nicht, wenn Sie es mit Python beschleunigen möchten
Memo, um nach KPI mit Python zu fragen
Für diejenigen, die Bilder so schnell wie möglich nebeneinander mit matplotlib von Python anzeigen möchten
Aufbau einer Python-Umgebung für diejenigen, die Datenwissenschaftler 2016 werden möchten
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Lose Artikel für diejenigen, die mit der Verarbeitung natürlicher Sprache beginnen möchten
Ein Memo für diejenigen, die eine schnelle Socket-Kommunikation mit Netcat wünschen
Ich habe Airbnb-Daten für diejenigen analysiert, die in Amsterdam bleiben möchten
Ich möchte MATLAB feval mit Python verwenden
Dart-Grammatik für diejenigen, die nur Python kennen
Ich möchte ein Spiel mit Python machen
[Mit Plotly auf die Karte schreiben] Dynamische Visualisierung mit Plotly [Python]
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
[Gelöst] Ich habe eine Frage an diejenigen, die mit Python-Mechanisierung vertraut sind.
Auf der Suche nach einer effizienten Möglichkeit, eine Docker-Datei mit Python mit Gedichten zu schreiben
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
PostgreSQL - Für Sie, die mit hoher Geschwindigkeit EINFÜGEN möchten
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte mit einem Roboter in Python arbeiten.
Schreiben Sie mit Lambda (Python, JavaScript) mehrere Datensätze in DynamoDB.
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Ich möchte Lambda mit Python auf Mac AWS!
[Einführung in Python] So schreiben Sie sich wiederholende Anweisungen mit for-Anweisungen
Ich möchte einen Quantencomputer mit Python betreiben
Für diejenigen, die Python unter Windows XP nicht installieren können
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
[Für diejenigen, die andere Programmiersprachen beherrschen] 10 Punkte, um Python-Punkte nachzuholen
Ich möchte Leuten sagen, die mit Python direnv aus einem höheren Verzeichnis importieren möchten
❤️ Blogger ❤️ "Beloved BI" ❤️ Los geht's ❤️ (für diejenigen, die mit Python Diagramme erstellen können)
Für diejenigen, die Janome ordnungsgemäß mit Python installiert haben sollten, aber eine Fehlermeldung erhalten
Stellen Sie mit Python eine Verbindung zu BigQuery her
poste an vim → Python → Slack
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Schreiben wir Python mitinema4d.