打开文件跳至第5行
vim +5 file
打开并恢复上一次未正常退出的文件
vim -r file
显示文档名称,是否修改以及光标位置
ctrl+g
:f
将n1,n2行保存到新文件。
:n1,n2w filename
保存并退出
:x
ZZ
:wq
水平拆分窗口并浏览文件系统
:Sex
垂直拆分窗口并浏览文件系统。
:Vex
向前移动一个单词,光标停在下一个单词的开头
w
向后移动一个单词,光标停在下一个单词的开头
b
向前移动一节
{
向后移动一节
}
将光标移动到同一行的下一个c字符
fc
将光标移动到同一行上的前一个c字符。
Fc
跳转同行的下一个c字符,使用;查找下一个
fc
;
跳转同行的下一个c字符,使用;查找上一个
fc
,
移至该行的第一个非空白字符
^
移至行尾
$
移至文件头
gg
移动到文件末尾
G
向下滚动一个屏幕
Ctrl+f
向上滚动一个屏幕
Ctrl+b
将当前行移动到屏幕中心
zz
复制整行文本
yy
删除(剪切)1(n)行。
dd
在光标之后粘贴
p
跳至单词的下一个出现的地方
n
跳至单词的上一个出现的地方
N
将所有old出现的地方换成new
:%s/old/new/g
在垂直分割的多个窗口中编辑多个文件
vim -O filename filename2
在水平分割的多个窗口中编辑多个文件。
vim -o filename filename2
格式化代码
=
在光标处插入当前日期和时间
:r !date
其他Shell命令的输出可以插入到当前文档中。
:r !command
自动补全单词
Ctrl + n
Ctrl + p
改变光标处的大小写,也可以改变一个区域的大小写
~
跳转到局部定义的变量
gd
跳转到全局定义的变量
gD
跳转到上一个修改的地方
g;
跳转到下一个修改的地方
g,
跳到上一个功能块的开头,您需要使用单独的行{
[[
跳转到下一个功能块的开头需要一行{
]]
跳转到配对的{}, () or []的另一个括号位置
%
修改,剪切或复制括号里内容。
ci( 、 di( or yi(
修改,剪切或复制””里内容。
ci" 、 di" or yi"
Call the Shell and return vim with “exit”.
临时将vim打开的内容放到后台,去执行shell命令,回到vim,使用”exit”指令
!sh
光标处的数字+1
Ctrl + a
光标处的数字-1
Ctrl + x
打开光标所在单词的手册页
K
向下搜索光标处的单词
*
向上搜索光标处的单词
#
删除光标处的单词
daw
删除一个单词并开始插入
ciw
删除一行文本并进入插入模式
cc
执行j命令后,光标仅移动到屏幕上方的第5位,而不移动到屏幕的最后一行
:set so=5
删除光标字符并进入插入模式
s
删除光标位置周围的文本范围,然后进入插入模式
c
退出插入模式
Esc
Ctrl + [
跳转至屏幕中间
M
转换字符成为大写
gU
转换字符成为小写
gu
全选整个文件
ggvG
交换两个字符的位置
xp
交换两行的位置
ddp
将此语句添加到/ etc / vim / vimrc中以自动补全花括号。
imap {<CR> {}<ESC>i<CR><TAB><ESC>V<O<TAB>
补全符号的另一半,将以下内容添加到/ etc / vim / vimrc中。
1 | inoremap ( ()<Esc>i |
转载请注明出处:http://www.wolfnx.com/2018/02/08/CommonVimInstruction
作者 : wolfnx
邮箱 : wolfnx@outlook.com
邮箱2 : lostnx@gmail.com