转载自:https://www.pkslow.com/archives/vim-commands
掌握vim
是linux
必备技能,当掌握了vim
的操作,很多时候比文本编辑器或IDE
更高效。
移动与跳转
命令 说明 set nu
显示行号; set nonu
取消显示行号; 0
数字0
,移动到行首; $
移动到行尾; gg
移动到文档的第一行;与1G
一样; G
移动到文档的最后一行; nG
n
为数字,移动到第n
行;n<回车>
向下移动n
行; Ctrl + f
向下翻页,即Page Down
; Ctrl + b
向上翻页,即Page Up
; Ctrl + d
向下翻半页; Ctrl + u
向上翻半页; h
向左; j
向下;nj
表示向下移动n
行; k
向上; l
向右; H
移动到屏幕第一行; M
移动到屏幕中间一行; L
移动到屏幕最后一行; +
非空格符的下一行; -
非空格符的上一行;
删除与复制
命令 说明 dd
删除当前行; ndd
向下删除n
行; dG
删除光标后所有;D
效果一样; d1G
删除光标前所有; d$
删除当前行光标后所有; d0
删除当前行光标前所有; yy
复制当前行; nyy
往下复制n
行; yG
复制光标后所有; y1G
复制光标前所有; y$
复制当前行光标后所有; y0
复制当前行光标前所有; p
、P
p
下一行粘贴,P
上一行粘贴;u
复原上一次操作; Ctrl + r
重复上一次操作;
搜索和替换
命令 说明 /word
向下寻找字符串; ?word
向上寻找字符串; n
重复上一个搜索动作;之前向下,现在也向下; N
反向重复上一个搜索动作; :wq
保存后退出;:wq!
,强制保存后退出; :n1,n2s/word1/word2/g
在n1
与n2
行之间,用word2
替换word1
;如50,110s/pkslow/PKSLOW/g
; :1,$s/word1/word2/g
第一行到最后一行,即全文搜索替换;
如果替换的字符串有/
,要用转义::1,$s/\/opt\/pkslow/\opt\/PKSLOW/g
。
文件操作
命令 说明 :w
保存 :w!
强制保存; :q
退出不保存; :q!
强制退出不保存; :wq
保存后退出;:wq!
,强制保存后退出; :w filename
另存为 :n1,n2 w filename
将n1
到n2
另存为; :r filename
读另一个文件内容; ! command
暂时离开vi
执行命令;
其它命令
命令 说明 syntax on
打开语法高亮; set mouse=a
支持使用鼠标; set encoding=utf-8
设置编码; set autoindent
回车下一行自动保持上一行缩进; set relativenumber
显示光标所在的相对行号; set showmatch
遇到括号,自动高亮另一个相对的括号; set hlsearch
高亮显示搜索匹配结果; set ignorecase
搜索时忽略大小写; set history=1000
记录历史命令数;