Heim Backend-Entwicklung PHP-Tutorial 以前写PHP时的vim配置

以前写PHP时的vim配置

Jun 23, 2016 pm 01:34 PM

第一步:下载vim插件管理工具vundle

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
Nach dem Login kopieren

第二步:copy我的vimrc到你的~/.vimrc里面(修改之前记得备份哦)

" See: http://vimdoc.sourceforge.net/htmldoc/options.html for details"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""=> General""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""设定 gvim 运行在增强模式下,不使用vi的键盘模式set nocompatible"设置支持多语言,解决乱码"设置内部编码为utf-8set encoding=utf-8set termencoding=utf-8set fileencodings=utf-8,gbk,default,latin1"解决consle输出乱码language messages zh_CN.utf-8"帮助菜单语言set helplang=cn" Sets how many lines of history VIM has to rememberset history=700" Enable filetype pluginsfiletype off    "requiredfiletype plugin onfiletype indent on" Set to auto read when a file is changed from the outsideset autoread" With a map leader it's possible to do extra key combinations" like <leader>w saves the current filelet mapleader = ","let g:mapleader = ","" Fast savingnmap <leader>w :w!<cr>"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => VIM user interface""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Set 7 lines to the cursor - when moving vertically using j/k"光标离上下边界7行时开始滚屏set so=7" Turn on the Wild menuset wildmenu" Ignore compiled filesset wildignore=*.o,*~,*.pycif has("win16") || has("win32")    set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Storeelse    set wildignore+=.git\*,.hg\*,.svn\*endif" Height of the command barset cmdheight=2" Configure backspace so it acts as it should actset backspace=eol,start,indentset whichwrap+=<,>,h,l" Ignore case when searchingset ignorecase" When searching try to be smart about cases set smartcase" Highlight search resultsset hlsearch" Makes search act like search in modern browsersset incsearch" Following line clears the search highlights when pressing Lbnnoremap <leader>/ :nohlsearch<CR>"Don't redraw while executing macros (good performance config)set lazyredraw" For regular expressions turn magic onset magic" Show matching brackets when text indicator is over themset showmatch" How many tenths of a second to blink when matching bracketsset mat=2" No annoying sound on errorsset noerrorbellsset novisualbellset t_vb=set tm=500"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Colors and Fonts"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Enable syntax highlightingsyntax enabletry    colorscheme desertcatchendtryset background=dark" Set extra options when running in GUI modeif has("gui_running")    set guioptions-=T    set guioptions+=e    set t_Co=256    set guitablabel=%M\ %tendif" Use Unix as the standard file typeset ffs=unix,dos,mac"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Files, backups and undo"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Turn backup off, since most stuff is in SVN, git et.c anyway...set nobackupset nowbset noswapfile"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Text, tab and indent related"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Use spaces instead of tabsset expandtab" Be smart when using tabs ;)set smarttabset tabstop=4set shiftwidth=4"对于不同类型的文件,进行自定义设置au FileType html,im,javascript,css set shiftwidth=2au FileType html,im,javascript,css set tabstop=2au FileType java,python,php set shiftwidth=4au FileType java,python,php set tabstop=4"设置每行的最大字符数,超过的话,将换行set textwidth=80" Linebreak on 500 charactersset lbrset tw=500set ai    "Auto indentset si    "Smart indentset wrap  "Wrap lines""""""""""""""""""""""""""""""" => Visual mode related""""""""""""""""""""""""""""""" Visual mode pressing * or # searches for the current selection" Super useful! From an idea by Michael Naumann"vnoremap <silent> * :call VisualSelection('f')<CR>"vnoremap <silent> # :call VisualSelection('b')<CR>"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Moving around, tabs, windows and buffers"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Treat long lines as break lines (useful when moving around in them)map j gjmap k gk" Moving Between Windowsnnoremap <Leader>h <C-w>hnnoremap <Leader>l <C-w>lnnoremap <Leader>j <C-w>jnnoremap <Leader>k <C-w>k""""""""""""""""""""""""""""""" => Status line""""""""""""""""""""""""""""""" Always show the status lineset laststatus=2" Format the status lineset statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ \ \ \ \line:\%-14.(%l,%c%V%)\ %P"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Editing mappings"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Remap VIM 0 to first non-blank charactermap 0 ^" type S, then type what you're looking for, a /, and what to replace it withnmap S :%s/<C-R><C-W>\>//g<LEFT><LEFT>vmap S :s/<C-R><C-W>\>//g<LEFT><LEFT>"基本编辑器设置set number          "显示行号set laststatus=2    "显示状态栏 (默认值为 1, 无法显示状态栏)set cmdheight=1     "设定命令行的行数为 1"set showtabline=2   "显示tab标签"set tabline+=%f     "tab标签" Enable Code Foldingset foldenableset foldmethod=syntaxset mouse=a         "任何情况都可以使用鼠标"工作目录随文件变autocmd BufEnter * cd %:p:h"不显示工具条set guioptions-=T" 配置文件.vimrc更改后自动重新载入使设置生效autocmd! bufwritepost .vimrc source ~/.vimrc "设置重新载入.vimrc快捷键map <silent> <leader>ss :source ~/.vimrc<cr>" 设置快速编辑.vimrc快捷键map <silent> <leader>ee :e ~/.vimrc<cr> "------  Replacing ------"type S, then type what you're looking for, a /, and what to replace it withnmap S :%s/<C-R><C-W>\>//g<LEFT><LEFT>vmap S :s/<C-R><C-W>\>//g<LEFT><LEFT>""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Scott McCoy/svn.vim" http://www.vim.org/scripts/script.php?script_id=743" cd  ~/.vim" tar zxvf svn-<version>.tgz"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""更新当前目录的代码"map <F5> :!svn up<CR>"提交SVN(当前目录)"map <F7> :!svn ci -m ""<CR>"提交SVN(当前文件)"map <F8> :!svn ci -m "" %<CR> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" =>Tagbar" http://www.vim.org/scripts/script.php?script_id=3465 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""noremap <silent> <Leader>y :TagbarToggle<CR>let g:tagbar_ctags_bin='/usr/bin/ctags-exuberant'let g:tagbar_width=26""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" =>Exuberant Ctags" sudo apt-get install exuberant-ctags""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ,ct = Builds ctags in current directorymap <Leader>ct :! /usr/bin/ctags-exuberant -R *<CR>""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => vundle" git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set rtp+=~/.vim/bundle/vundle/call vundle#rc()"let Vundle manage Vundle"required!Bundle 'gmarik/vundle'"My Bundles here:""original repos on github" IndentBundle 'Yggdroot/indentLine'" PluginBundle 'The-NERD-tree'"------  NERDTree Options  ------"  当打开vim且没有文件时自动打开NERDTreeautocmd vimenter * if !argc(  )   | NERDTree | endif    let NERDTreeIgnore=['CVS']    let NERDTreeChDirMode=2     "setting root dir in NT also sets VIM's cd    noremap <silent> <Leader>n :NERDTreeToggle<CR>    " These prevent accidentally loading files while in the NERDTree panel    autocmd FileType nerdtree noremap <buffer> <c-left> <nop>    autocmd FileType nerdtree noremap <buffer> <c-h> <nop>    autocmd FileType nerdtree noremap <buffer> <c-right> <nop>    autocmd FileType nerdtree noremap <buffer> <c-l> <nop>Bundle 'jiangmiao/auto-pairs'Bundle 'pangloss/vim-javascript'Bundle 'mattn/emmet-vim'Plugin 'mattn/jscomplete-vim'Bundle 'Shougo/neocomplcache'    " Disable AutoComplPop.    let g:acp_enableAtStartup = 0    " Use neocomplete.    let g:neocomplete#enable_at_startup = 1    " Use smartcase.    let g:neocomplete#enable_smart_case = 1    " Set minimum syntax keyword length.    let g:neocomplete#sources#syntax#min_keyword_length = 3    let g:neocomplete#lock_buffer_name_pattern = '\*ku\*'    " Define dictionary.    let g:neocomplete#sources#dictionary#dictionaries = {            \ 'default' : '',            \ 'vimshell' : $HOME.'/.vimshell_hist',            \ 'scheme' : $HOME.'/.gosh_completions'            \ }    " Define keyword.    if !exists('g:neocomplete#keyword_patterns')        let g:neocomplete#keyword_patterns = {}     endif    let g:neocomplete#keyword_patterns['default'] = '\h\w*'"Bundle 'joonty/vdebug'"<F5>: start/run (to next breakpoint/end of script)"<F2>: step over"<F3>: step into"<F4>: step out"<F6>: stop debugging"To stop debugging, press <F6>. Press it again to close the debugger interface."<F7>: detach script from debugger"<F9>: run to cursor"<F10>: set line breakpoint"<F11>: show context variables (e.g. after ""eval")"<F12>: evaluate variable under cursor":Breakpoint <type> <args>: set a breakpoint of any type (see :help VdebugBreakpoints)":VdebugEval <code>: evaluate some code and display the result"<Leader>e: evaluate the expression under visual highlight and display the result"SyntaxBundle 'scrooloose/Syntastic'    let g:syntastic_check_on_open = 1    let g:syntastic_error_symbol = '?'    let g:syntastic_warning_symbol = '?'    let g:syntastic_auto_loc_list = 1    let g:syntastic_loc_list_height = 5    let g:syntastic_enable_highlighting = 0" 如果要对javascript进行语法检查,可以安装JSHint插件" sudo apt-get install nodejs" sudo npm install jshint" # 如果是 12.10,我发现 nodejs 可执行文件的命名不符合常规,要做个链接" sudo ln -s /usr/bin/nodejs /usr/bind/node"" :Brief help" :BundleList           -list configured bundles" :BundleInstall(!)     - install(update) bundles" :BundleSearch(!) foo  - search(or refresh cache first) for foo" :BundleClean(!)       - confirm(or auto-approve) removal of unused bundles" vundle主要就是上面这个四个命令,例如BundleInstall是全部重新安装,BundleInstall!则是更新" 一般安装插件的流程为,先BundleSearch一个插件,然后在列表中选中,按i安装" 安装完之后,在vimrc中,添加Bundle 'xxx'  使得bundle能够加载这个插件,同时如果" 需要配置这个插件,也是在vimrc中设置即可" 如果search到的安装不了,就换过来先在vimrc里添加Bundle 'xxx'" 在去vim里执行BundleInstall来安装" 卸载的话" 1. 注释掉Bundle/Plugin &times;&times;&times;(要删除的插件相关语句)" 2. :BundleClean" Done!" see :h vundle for more details or wiki for FAQ" ps: comments after Bundle command are not allowed.."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" => Helper functions"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""function! HasPaste()    if &paste        return 'PASTE MODE '    en    return ''endfunction
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Nach seiner hochkarätigen Akquisition durch Facebook im Jahr 2012 nahm Instagram zwei APIs für den Einsatz von Drittanbietern ein. Dies sind die Instagram -Graph -API und die Instagram Basic Display -API. Ein Entwickler, der eine App erstellt, die Informationen von a benötigt

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Ankündigung von 2025 PHP Situation Survey Ankündigung von 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio

See all articles