We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vim 配置:https://github.com/chenxiaochun/editor-preferences/blob/master/.vimrc
^
$
0
gg
shift+g
ctrl+o
j
k
l
h
w
W
e
E
b
B
ge
:n
nG
10G
n$
1$
2$
{
}
zz
zt
zb
ctrl+b
ctrl+f
ctrl+d
ctrl+u
ctrl+e
ctrl+y
v
j/k/h/l
ctrl+v
j/k
shift+i
esc
v+e
vip
p
vit
t
vat
V
VG
说明:vi命令后面可以接任意你想选择的包裹字符,比如:vi<:选中尖括号之间的内容;vi":选中双引号之间的内容,等等。可以自己探索尝试
vi
vi<
vi"
同一文件:
yw
yy
Y
yG
y
yi'
'
d
di'
P
跨文件:
"+y
"+p
O
o
i
I
a
A
normal 模式:
x
X
dd
dG
D
s
S
cc
:1,10d
J
说明:在 vim 中,.表示当前行,所以1,.表示从第 1 行到当前行,按d表示删除
.
1,.
insert 模式:
ctrl+w
r
R
ESC
ci'
ciw
visual 模式:
c
/
?
#
*
n
N
:vim foo src/** | copen
:%s/foo/bar
:%s/foo/bar/g
:%s/foo/bar/gi
:%s/foo/bar/gI
:%s/foo/bar/gc
在选中相应的文本后:
>>
<<
zf
zM
zo
zR
ZZ
u
ctrl+r
:sp,水平分屏 :vs,垂直分屏 ctrl+w+w,在分屏之间切换 ctrl+w+c或者:q,关闭当前分屏 ctrl+w+r,交换两个左右分屏的位置
:sp
:vs
ctrl+w+w
ctrl+w+c
:q
ctrl+w+r
ctrl+x, ctrl+f
ctrl+z,唤起一个临时 shell fg,退出当前临时shell
ctrl+z
fg
:new filename
:!mkdir name
在安装某些 vim 插件时,如果碰到了以下提示:
requires Vim compiled with Python (2.6+ or 3.3+) support
可以尝试配置一下此参数:
let g:python3_host_prog = '/usr/local/bin/python3'
cst<p>
cst<p
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Vim 配置:https://github.com/chenxiaochun/editor-preferences/blob/master/.vimrc
指令列表
移动光标操作
^
,移动到当前行的第一个字符位置$
,移动到当前行的最后一个字符位置0
,移动到当前行首gg
,移动到文件开头shift+g
,移动到文件末尾ctrl+o
,回到上一次光标的位置j
,往下移动一行k
,往上移动一行l
,往后移动一个字符h
,往前移动一个字符w
,向后移动一个单词,光标停留在单词首部W
,向后移动,忽略标点符号e
,向后移动一个单词,光标停留在单词尾部E
,向后移动,忽略标点符号b
,向前移动一个单词,光标停留在单词首部B
,向前移动,忽略标点符号ge
,向前移动一个单词,光标停留在单词尾部:n
,移动到第 n 行nG
,移动到第 n 行的行首。例如:10G
,移动到第 10 行的行首n$
,移动到相对于当前行的第 n 行的行尾。例如:1$
是移动到第当前行的行尾;2$
是移动到下一行的行尾{
和}
,以函数级上下移动zz
,将当前行置于屏幕中间zt
,将当前行置于屏幕顶端zb
,将当前行置于屏幕底端翻页滚动操作
ctrl+b
,往上翻一页ctrl+f
,往下翻一页ctrl+d
,往下滚动半屏ctrl+u
,往上滚动半屏ctrl+e
,往下滚动一行ctrl+y
,往上滚动一行选择操作
v
,进入 visual 模式,使用j/k/h/l
进行文本选择ctrl+v
,进入 visual block 模式,使用j/k
可选中一行或者多行。此时按shift+i
可进入多行编辑模式,完成之后按esc
v+e
,选择一个单词vip
,选中一个上下以空行分隔的段落,p
是段落的意思vit
,用来在类 html 代码中选中标签包裹的内容,不包含标签本身,t
是 tag 标签的意思vat
,用于在类 html 代码中选中标签本身以及它所包裹的内容V
,使用j/k
选择多行VG
,选择从当前光标到文末的所有内容,并高亮显示说明:
vi
命令后面可以接任意你想选择的包裹字符,比如:vi<
:选中尖括号之间的内容;vi"
:选中双引号之间的内容,等等。可以自己探索尝试复制粘贴操作
同一文件:
yw
,复制光标所在位置的单词yy
或者Y
,复制当前行yG
,复制从当前光标到文末的所有内容y
,复制文本yi'
,复制'
之间的字符d
,剪切文本di'
,剪切'
之间的字符p
,粘贴在光标后面P
,粘贴在光标前面跨文件:
"+y
,复制文本"+p
,粘贴文本插入操作
O
,在当前行的前面追加一行o
,在当前行的后面追加一行i
,在光标之前插入字符I
,在行首插入字符a
,在光标之后插入字符A
,在行尾插入字符删除操作
normal 模式:
x
,删除光标所在的字符X
,删除光标左边的字符dd
,删除当前行dG
,删除从光标到文末的所有内容D
,删除从光标到本行末尾的字符s
,删除光标所在的字符并开始插入S
或者cc
,删除光标所在行并开始插入:1,10d
,删除指定行内容,例如删除第 1 至 10 行的内容J
,删除两行之间的换行符说明:在 vim 中,
.
表示当前行,所以1,.
表示从第 1 行到当前行,按d
表示删除insert 模式:
ctrl+w
,删除从当前光标到单词开始位置的所有字符修改字符操作
normal 模式:
r
,修改光标所在位置的字符R
,修改光标所在位置的字符,可以一直修改,直到按下ESC
键ci'
,修改'
之间的字符ciw
,修改光标所在位置的单词visual 模式:
c
,删除当前选择的字符并进入插入状态查找操作
/
,从上往下查找?
,从下往上查找#
,向上查找光标所在的单词*
,向下查找光标所在的单词n
,查找下一个N
,查找上一个:vim foo src/** | copen
查找替换操作
:%s/foo/bar
,将找到的第一个 foo 替换为 bar:%s/foo/bar/g
,全局替换 foo 为bar:%s/foo/bar/gi
,全局替换,i
表示大小写不敏感:%s/foo/bar/gI
,全局替换,I
表示大小写敏感:%s/foo/bar/gc
,全局替换,c
表示需要对每一次替换进行确认批量缩进
在选中相应的文本后:
>>
,往里缩进<<
,往外缩进代码折叠/展开操作
zf
,折叠代码zM
,折叠所有代码zo
,展开代码zR
,展开所有折叠文件保存操作
ZZ
,保存并退出撤消操作
u
,撤消命令ctrl+r
,恢复撤消.
,重复上一次的操作分屏操作
:sp
,水平分屏:vs
,垂直分屏ctrl+w+w
,在分屏之间切换ctrl+w+c
或者:q
,关闭当前分屏ctrl+w+r
,交换两个左右分屏的位置文件路径补全操作
ctrl+x, ctrl+f
,文件路径补全shell 操作
ctrl+z
,唤起一个临时 shellfg
,退出当前临时shell其它命令操作
:new filename
,新建文件:!mkdir name
,新建文件夹异常解决
在安装某些 vim 插件时,如果碰到了以下提示:
可以尝试配置一下此参数:
插件技巧
vim-surround
cst<p>
,将光标所在位置的标签修改为 p 标签,同时会删除原来标签上的所有属性cst<p
,将光标所在位置的标签修改为 p 标签,并保留原来标签上的属性The text was updated successfully, but these errors were encountered: