[转载]vim常用命令

原文链接:Add㊣™~

Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。这里收录了130+程序员必备的 vim 命令,帮助你提高开发效率。
目录
Contents
 1.  基本命令
 2.  在文件中移动
 3.  剪切、拷贝和粘贴
 4.  搜索
 5.  替换
 6.  大小写
 7.  读写文件
 8.  文件浏览器
 9.  和 Unix 系统交互
 10.  对齐
 11.  选项卡/窗口
 12.  分屏显示
 13.  自动完成
 14.  标记
 15.  缩写
 16.  文本缩进
 17.  代码高亮

1. 基本命令

命令 功能
:e filename Open filename for edition
:w Save file
:q Exit Vim
:q! Quit without saving
😡 Write file (if changes has been made) and exit
:sav filename Saves file as filename
. Repeats the last change made in normal mode
5. Repeats 5 times the last change made in normal mode

2. 在文件中移动

命令 功能
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 file
gg move the cursor to the begining of the file
L move the cursor to the bottom of the screen
:59 move cursor to line 59. Replace 59 by the desired line number.
20
Move cursor to matching parenthesis
[[ Jump to function start
[{ Jump to block start

3. 剪切、拷贝和粘贴

命令 功能
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

4. 搜索

命令 功能
/word Search word from top to bottom
?word Search word from bottom to top
* Search the word under cursor
/\cstring Search STRING or string, case insensitive
/jo[ha]n Search john or joan
/\< the Search the, theatre or then
/the> Search the or breathe
/\< the> Search the
/\< ¦.> Search all words of 4 letters
/\/ Search fred but not alfred or frederick
/fred|joe Search fred or joe
/\<\d\d\d\d> Search exactly 4 digits
/^\n{3} Find 3 empty lines
:bufdo /searchstr/ Search in all open files
bufdo Search something in all the open buffers and replace it with somethingelse

5. 替换

命令 功能
Replace all occurences of old by new in file
Replace onward by forward, case unsensitive
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
Replace the begining of each line by hello
Replace the end of each line by Harry
Replace onward by forward, case unsensitive
Delete all white spaces
:g/string/d Delete all lines containing string
:v/string/d Delete all lines containing which didn’t contain string
:s/Bill/Steve/ Replace the first occurence of Bill by Steve in current line
:s/Bill/Steve/g Replace Bill by Steve in current line
Replace Bill by Steve in all the file
Delete DOS carriage returns (^M)
Transform DOS carriage returns in returns
Delete HTML tags but keeps text
Delete lines which appears twice
Ctrl+a Increment number under the cursor
Ctrl+x Decrement number under cursor
ggVGg? Change text to Rot13

6. 大小写

命令 功能
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
Sets first letter of each word to uppercase
Sets first letter of each word to lowercase
Sets first letter of each line to uppercase
Sets first letter of each line to lowercase

7. 读写文件

命令 功能
:1,10 w outfile Saves lines 1 to 10 in outfile
:1,10 w >> outfile Appends lines 1 to 10 to outfile
:r infile Insert the content of infile
:23r infile Insert the content of infile under line 23

8. 文件浏览器

命令 功能
:e . Open integrated file explorer
:Sex Split window and open integrated file explorer
:Sex! Same as :Sex but 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 contening expression
gf Open file name under cursor

9. 和 Unix 系统交互

命令 功能
:!pwd Execute the pwd unix command, then returns to Vi
!!pwd Execute the pwd unix command and insert output in file
:sh Temporary returns to Unix
$exit Retourns to Vi

10. 对齐

命令 功能
Align all lines
!}fmt Align all lines at the current position
5!!fmt Align the next 5 lines

11. 选项卡/窗口

命令 功能
:tabnew Creates a new tab
gt Show next tab
:tabfirst Show first tab
:tablast Show last tab
:tabm n(position) Rearrange tabs
:tabdo Execute a command in all tabs
:tab ball Puts all open files in tabs
:new abc.txt Edit abc.txt in new window

12. 分屏显示

命令 功能
:e filename Edit filename in current window
:split filename Split the window and open filename
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
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 :split in readonly mode
:hide Close current window
:­nly Close all windows, excepted current
:b 2 Open #2 in this window

13. 自动完成

命令 功能
Ctrl+n Ctrl+p (in insert mode) Complete word
Ctrl+x Ctrl+l Complete line
:set dictionary=dict Define dict as a dictionnary
Ctrl+x Ctrl+k Complete with dictionnary

14. 标记

命令 功能
m {a-z} Marks current position as {a-z}
’ {a-z} Move to position {a-z}
Move to previous position

15. 缩写

命令 功能
:ab mail [email protected] Define mail as abbreviation of [email protected]

16. 文本缩进

命令 功能
: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

17. 代码高亮

命令 功能
:syntax on Turn on syntax highlighting
:syntax off Turn off syntax highlighting
:set syntax=perl Force syntax highlighting

Written with StackEdit.

1 条关于 “[转载]vim常用命令”的评论

  1. vim 是个好东西。以前见过有人把这些命令做成了个pdf的卡片,跟这个帖子内容差不多,打出来放在手边很方便。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*