程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 程序員都應該知道的130個vim命令

程序員都應該知道的130個vim命令

編輯:更多關於編程

     從1970年開始,vi和vim 就成為了程序員最喜愛的文本編輯器之一。5年前,我寫了一個問自己名為“每個程序員都應該知道的100個vim 命令” 這次算是之前那篇文章的改進版,希望你會喜歡。
    基礎

    :e filename Openfilenamefor edition :w Save file :q Exit Vim :q! Quit without saving :x Write file (if changes has been made) and exit :sav filename Saves file asfilename . Repeats the last change made in normal mode 5. Repeats 5 times the last change made in normal mode

    在文件中移動

    k or Up Arrow move the cursor up one line j or Down Arrow move the cursor down one line e move the cursor to the end of the word b move the cursor to the begining of the word 0 move the cursor to the begining of the line G move the cursor to the end of the line gg move the cursor to the begining of the file L move the cursor to the end of the file :59 move cursor to line59. Replace59by the desired line number. 20| move cursor to column20. % Move cursor to matching parenthesis [[ Jump to function start [{ Jump to block start

    剪切、復制和粘貼

    y Copy the selected text to clipboard p Paste clipboard contents dd Cut current line yy Copy current line y$ Copy to end of line D Cut to end of line

    搜索

    /word Searchwordfrom top to bottom ?word Searchwordfrom bottom to top * Search the word under cursor /cstring SearchSTRINGorstring, case insensitive /jo[ha]n Searchjohnorjoan /< the Search the, theatre orthen /the> Searchtheorbreathe /< the> Searchthe /< ¦.> Search all words of 4 letters // Searchfredbut notalfredorfrederick /fred|joe Searchfredorjoe /<dddd> Search exactly 4 digits /^{3} Find 3 empty lines :bufdo /searchstr/ Search in all open files bufdo %s/something/somethingelse/g Searchsomethingin all the open buffers and replace it withsomethingelse

    替換

    :%s/old/new/g Replace all occurences ofoldbynewin file :%s/onward/forward/gi Replace onward by forward, case unsensitive :%s/old/new/gc Replace all occurences with confirmation :2,35s/old/new/g Replace all occurences between lines 2 and 35 :5,$s/old/new/g Replace all occurences from line 5 to EOF :%s/^/hello/g Replace the begining of each line byhello :%s/$/Harry/g Replace the end of each line byHarry :%s/onward/forward/gi Replaceonwardbyforward, case unsensitive :%s/ *$//g Delete all white spaces :g/string/d Delete all lines containingstring :v/string/d Delete all lines containing which didn’t containstring :s/Bill/Steve/ Replace the first occurence ofBillbyStevein current line :s/Bill/Steve/g ReplaceBillbyStevein current line :%s/Bill/Steve/g ReplaceBillbyStevein all the file :%s/^M//g Delete DOS carriage returns (^M) :%s///g Transform DOS carriage returns in returns :%s#<[^>]+>##g Delete HTML tags but keeps text :%s/^(.*)1$/1/ Delete lines which appears twice Ctrl+a Increment number under the cursor Ctrl+x Decrement number under cursor ggVGg? Change text to Rot13

    大小寫

    Vu Lowercase line VU Uppercase line g~~ Invert case vEU Switch word to uppercase vE~ Modify word case ggguG Set all text to lowercase gggUG Set all text to uppercase :set ignorecase Ignore case in searches :set smartcase Ignore case in searches excepted if an uppercase letter is used :%s/<./u&/g Sets first letter of each word to uppercase :%s/<./l&/g Sets first letter of each word to lowercase :%s/.*/u& Sets first letter of each line to uppercase :%s/.*/l& Sets first letter of each line to lowercase

    讀寫文件

    :1,10 w outfile Saves lines 1 to 10 inoutfile :1,10 w >> outfile Appends lines 1 to 10 tooutfile :r infile Insert the content ofinfile :23r infile Insert the content ofinfileunder line 23

    文件浏覽器

    :e . Open integrated file explorer :Sex Split window and open integrated file explorer :Sex! Same as:Sexbut split window vertically :browse e Graphical file explorer :ls List buffers :cd .. Move to parent directory :args List files :args *.php Open file list :grep expression *.php Returns a list of .php files conteningexpression gf Open file name under cursor

    和 Unix 系統交互

    :!pwd Execute thepwdunix command, then returns to Vi !!pwd Execute thepwdunix command and insert output in file :sh Temporary returns to Unix $exit Retourns to Vi

    對齊

    :%!fmt Align all lines !}fmt Align all lines at the current position 5!!fmt Align the next 5 lines

    Tabs/Windows

    :tabnew Creates a new tab gt Show next tab :tabfirst Show first tab :tablast Show last tab :tabm n(position) Rearrange tabs :tabdo %s/foo/bar/g Execute a command in all tabs :tab ball Puts all open files in tabs :new abc.txt Editabc.txtin new window

    分屏顯示

    :e filename Editfilenamein current window :split filename Split the window and openfilename ctrl-w up arrow Puts cursor in top window ctrl-w ctrl-w Puts cursor in next window ctrl-w_ Maximize current window vertically ctrl-w| Maximize current window horizontally ctrl-w= Gives the same size to all windows 10 ctrl-w+ Add 10 lines to current window :vsplit file Split window vertically :sview file Same as:splitin readonly mode :hide Close current window :­nly Close all windows, excepted current :b 2 Open #2 in this window

    自動完成

    Ctrl+n Ctrl+p (in insert mode) Complete word Ctrl+x Ctrl+l Complete line :set dictionary=dict Definedictas a dictionnary Ctrl+x Ctrl+k Complete with dictionnary

    Marks

    m {a-z} Marks current position as{a-z} ' {a-z} Move to position{a-z} '' Move to previous position

    縮寫

    :ab mail [email protected] Definemailas abbreviation [email protected]

    文本縮進

    :set autoindent Turn on auto-indent :set smartindent Turn on intelligent auto-indent :set shiftwidth=4 Defines 4 spaces as indent size ctrl-t, ctrl-d Indent/un-indent in insert mode >> Indent << Un-indent =% Indent the code between parenthesis 1GVG= Indent the whole file

    語法高亮

    :syntax on Turn on syntax highlighting :syntax off Turn off syntax highlighting :set syntax=perl Force syntax highlighting

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved