跳转到内容
主菜单
主菜单
移至侧栏
隐藏
规范/协议
协议
算法
JVM
多线程/并发
存储
AI
深度学习
工具箱
最近更改
文章分类
全部文章
WHY42
搜索
搜索
外观
登录
个人工具
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁Vim cheat sheet”︁的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
Vim cheat sheet
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=基础= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:e filename</code>||Open filename for edition |- |<code>:w</code>||Save file |- |<code>:q</code>||Exit Vim |- |<code>:q!</code>||Quit without saving |- |<code>:x</code>||Write file (if changes has been made) and exit |- |<code>:sav filename</code>||Saves file as filename |- |<code>.</code>||Repeats the last change made in normal mode |- |<code>5</code>||Repeats 5 times the last change made in normal mode |- |} =在文件中移动= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>k or Up Arrow</code>||move the cursor up one line |- |<code>j or Down Arrow</code>||move the cursor down one line |- |<code>e</code>||move the cursor to the end of the word |- |<code>b</code>||move the cursor to the begining of the word |- |<code>0</code>||move the cursor to the begining of the line |- |<code>G</code>||move the cursor to the end of the line |- |<code>gg</code>||move the cursor to the begining of the file |- |<code>L</code>||move the cursor to the end of the file |- |<code>:59</code>||move cursor to line 59. Replace 59 by the desired line number. |- |<code>20<nowiki>|</nowiki></code>||move cursor to column 20. |- |<code>%</code>||Move cursor to matching parenthesis |- |<code>[[</code>||Jump to function start |- |<code>[{</code>||Jump to block start |- |} =剪切、复制和粘贴= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>y</code>||Copy the selected text to clipboard |- |<code>p</code>||Paste clipboard contents |- |<code>dd</code>||Cut current line |- |<code>yy</code>||Copy current line |- |<code>y$</code>||Copy to end of line |- |<code>D</code>||Cut to end of line |- |} =搜索= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>/word</code>||Search word from top to bottom |- |<code>?word</code>||Search word from bottom to top |- |<code>*</code>||Search the word under cursor |- |<code>/\cstring</code>||Search STRING or string, case insensitive |- |<code>/jo[ha]n</code>||Search john or joan |- |<code>/\< the</code>||Search the, theatre or then |- |<code>/the\></code>||Search the or breathe |- |<code>/\< the\></code>||Search the |- |<code>/\< ¦.\></code>||Search all words of 4 letters |- |<code>/\/</code>||Search fred but not alfred or frederick |- |<code>/fred\<nowiki>|</nowiki>joe</code>||Search fred or joe |- |<code>/\<\d\d\d\d\></code>||Search exactly 4 digits |- |<code>/^\n\{3}</code>||Find 3 empty lines |- |<code>:bufdo /searchstr/</code>||Search in all open files |- |<code>bufdo %s/xx/yy/g</code>||Search in all the open buffers and replace it |- |} =替换= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:%s/old/new/g</code>||Replace all occurences of old by new in file |- |<code>:%s/onward/forward/gi</code>||Replace onward by forward, case unsensitive |- |<code>:%s/old/new/gc</code>||Replace all occurences with confirmation |- |<code>:2,35s/old/new/g</code>||Replace all occurences between lines 2 and 35 |- |<code>:5,$s/old/new/g</code>||Replace all occurences from line 5 to EOF |- |<code>:%s/^/hello/g</code>||Replace the begining of each line by hello |- |<code>:%s/$/Harry/g</code>||Replace the end of each line by Harry |- |<code>:%s/onward/forward/gi</code>||Replace onward by forward, case unsensitive |- |<code>:%s/ *$//g</code>||Delete all white spaces |- |<code>:g/string/d</code>||Delete all lines containing string |- |<code>:v/string/d</code>||Delete all lines containing which didn’t contain string |- |<code>:s/Bill/Steve/</code>||Replace the first occurence of Bill by Steve in current line |- |<code>:s/Bill/Steve/g</code>||Replace Bill by Steve in current line |- |<code>:%s/Bill/Steve/g</code>||Replace Bill by Steve in all the file |- |<code>:%s/^M//g</code>||Delete DOS carriage returns (^M) |- |<code>:%s/\r/\r/g</code>||Transform DOS carriage returns in returns |- |<code>:%s#<[^>]\+> |-g</code>||Delete HTML tags but keeps text |- |<code>:%s/^\(.*\)\n\1$/\1/</code>||Delete lines which appears twice |- |<code>Ctrl+a</code>||Increment number under the cursor |- |<code>Ctrl+x</code>||Decrement number under cursor |- |<code>ggVGg?</code>||Change text to Rot13 |- |} =大小写= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>Vu</code>||Lowercase line |- |<code>VU</code>||Uppercase line |- |<code>g~~</code>||Invert case |- |<code>vEU</code>||Switch word to uppercase |- |<code>vE~</code>||Modify word case |- |<code>ggguG</code>||Set all text to lowercase |- |<code>gggUG</code>||Set all text to uppercase |- |<code>:set ignorecase</code>||Ignore case in searches |- |<code>:set smartcase</code>||Ignore case in searches excepted if an uppercase letter is used |- |<code>:%s/\<./\u&/g</code>||Sets first letter of each word to uppercase |- |<code>:%s/\<./\l&/g</code>||Sets first letter of each word to lowercase |- |<code>:%s/.*/\u&</code>||Sets first letter of each line to uppercase |- |<code>:%s/.*/\l&</code>||Sets first letter of each line to lowercase |- |} =读写文件= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:1,10 w outfile</code>||Saves lines 1 to 10 in outfile |- |<code>:1,10 w >> outfile</code>||Appends lines 1 to 10 to outfile |- |<code>:r infile</code>||Insert the content of infile |- |<code>:23r infile</code>||Insert the content of infile under line 23 |- |} =文件浏览器= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:e .</code>||Open integrated file explorer |- |<code>:Sex</code>||Split window and open integrated file explorer |- |<code>:Sex!</code>||Same as :Sex but split window vertically |- |<code>:browse e</code>||Graphical file explorer |- |<code>:ls</code>||List buffers |- |<code>:cd ..</code>||Move to parent directory |- |<code>:args</code>||List files |- |<code>:args *.php</code>||Open file list |- |<code>:grep expression *.php</code>||Returns a list of .php files contening expression |- |<code>gf</code>||Open file name under cursor |- |} =和 Unix 系统交互= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:!pwd</code>||Execute the pwd unix command, then returns to Vi |- |<code>!!pwd</code>||Execute the pwd unix command and insert output in file |- |<code>:sh</code>||Temporary returns to Unix |- |<code>$exit</code>||Retourns to Vi |- |} =对齐= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:%!fmt</code>||Align all lines |- |<code>!}fmt</code>||Align all lines at the current position |- |<code>5!!fmt</code>||Align the next 5 lines |- |} =Tabs/Windows= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:tabnew</code>||Creates a new tab |- |<code>gt</code>||Show next tab |- |<code>:tabfirst</code>||Show first tab |- |<code>:tablast</code>||Show last tab |- |<code>:tabm n(position)</code>||Rearrange tabs |- |<code>:tabdo %s/foo/bar/g</code>||Execute a command in all tabs |- |<code>:tab ball</code>||Puts all open files in tabs |- |<code>:new abc.txt</code>||Edit abc.txt in new window |- |} =分屏显示= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:e filename</code>||Edit filename in current window |- |<code>:split filename</code>||Split the window and open filename |- |<code>ctrl-w up arrow</code>||Puts cursor in top window |- |<code>ctrl-w ctrl-w</code>||Puts cursor in next window |- |<code>ctrl-w_</code>||Maximize current window vertically |- |<code><nowiki>ctrl-w|</nowiki></code>||Maximize current window horizontally |- |<code>ctrl-w=</code>||Gives the same size to all windows |- |<code>10 ctrl-w+</code>||Add 10 lines to current window |- |<code>:vsplit file</code>||Split window vertically |- |<code>:sview file</code>||Same as :split in readonly mode |- |<code>:hide</code>||Close current window |- |<code>:nly</code>||Close all windows, excepted current |- |<code>:b 2</code>||Open #2 in this window |- |} =自动完成= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>Ctrl+n Ctrl+p (in insert mode)</code>||Complete word |- |<code>Ctrl+x Ctrl+l</code>||Complete line |- |<code>:set dictionary=dict</code>||Define dict as a dictionnary |- |<code>Ctrl+x Ctrl+k</code>||Complete with dictionnary |- |} =Marks= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>m {a-z}</code>||Marks current position as {a-z} |- |<code>' {a-z}</code>||Move to position {a-z} |- |<code><nowiki>''</nowiki></code>||Move to previous position |- |} =缩写= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:ab mail mail@provider.org</code>||Define mail as abbreviation of mail@provider.org |- |} =文本缩进= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:set autoindent</code>||Turn on auto-indent |- |<code>:set smartindent</code>||Turn on intelligent auto-indent |- |<code>:set shiftwidth=4</code>||Defines 4 spaces as indent size |- |<code>ctrl-t, ctrl-d</code>||Indent/un-indent in insert mode |- |<code>>></code>||Indent |- |<code><<</code>||Un-indent |- |<code>=%</code>||Indent the code between parenthesis |- |<code>1GVG=</code>||Indent the whole file |- |} =语法高亮= {|class="darktable" border="1" |- !style="width:300px"|命令||style="width:400px"|用途 |- |<code>:syntax on</code>||Turn on syntax highlighting |- |<code>:syntax off</code>||Turn off syntax highlighting |- |<code>:set syntax=perl</code>||Force syntax highlighting |- [[Category:Linux/Unix]]
返回
Vim cheat sheet
。
搜索
搜索
查看“︁Vim cheat sheet”︁的源代码
添加话题