VIM的命令挺多,网上一搜也有很多总结,一下子看那么多也记不住,还是要在实战中去学习,以下是自己平常用到的一些命令,记录一下。admin 管理员组文章数量: 887032
vim下记录屏幕显示的工具
script myfile_name //一些操作
exit
此时所有的操作都记录在myfile_name文件中
/ 后面输入字符进行搜索 * 向后搜索光标所在位置的单词
# 向前搜索光标所在位置的单词
n和N可以继续向后或向前搜索匹配的字符串
:set hlsearch 高亮所有匹配字符串
:nohlsearch 临时关闭,他的缩写形式是::noh
:set nohlsearch 彻底关闭,只有重新:set hlsearch才可以高亮搜索
:set ignorecase - 查找内容忽略大小写
:set noignorecase - 返回精确匹配
:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。
:set tabstop=4 设置tab键等于4个空格
"/was$"只匹配位于一行末尾的单词was,所以"/^was"只匹配位于一行开始的单词was。
用"/the"来查找Vim也会匹配到"there"。要查找作为独立单词的"the"使用如下命令:"/the\>"
"\>"是一个特殊的记法,它只匹配一个word的结束处。近似地,"\<"匹配到一个word的开始处。
/pattern 从光标开始向文件尾搜索pattern
?pattern 从光标开始向文件首搜索pattern
:s/p1/p2/g 将当前行中所有 p1 均用 p2 替代
:n1,n2s/p1/p2/g 将第 n1 至 n2 行中所有 p1 均用 p2 替代
:g/p1/s//p2/g 将文件中中所有 p1 均用 p2 替代
yw : 从光标处开始往后复制一个单词
y3w : 从光标处开始往后复制3个单词
yy : 复制一行
3yy : 复制3行 yw 复制一个word
y^ 复制当前到行头
y$ 复制当前到行尾
yG 复制到档尾
d命令同上
p :粘贴
x 删除当前光标下的字符("dl"的快捷命令)
X 删除当前光标之前的字符("dh"的快捷命令)
D 删除自当前光标至行尾的内容("d$"的快捷命令)
dw 删除自当前光标至下一个word的开头
db 删除自当前光标至前一个word的开始
diw 删除当前光标所在的word(不包括空白字符)
daw 删除当前光标所在的word(包括空白字符)
dG 删除当前行至文件尾的内容
dgg 删除当前行至文件头的内容
D: 删除光标至行末
w(W): 下一个单词 e(E): 单词词尾
J:合并光标所在行 和 其下一行
s: 删除字符并插入,相当于:先x,后i
S:删除当前行并插入,相当于:先dd,回车,后i
r:替换字符
R:替换模式,类似于按了insert,你输入的替换后面的
p: 在后面粘贴
P:在前面粘贴
u : 撤销一次操作
U :撤销对一行的全部操作
v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
V 从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
Ctrl + v 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束
h : 向左移动
j :向下移动
k :向上移动
l :向右移动
H:光标移至屏幕顶行
M:光标移至屏幕中间
L:光标移至屏幕最后行
0:(数字零)光标移至当前行行首
$:光标移至当前行行尾 % :跳转到与当前光标下的括号相匹配的那一个括号上去
ZZ (x) :保存当前文件并退出Vim
在vim模式下希望浏览目录和多个文件
:E
Ctrl + ^ : 两个文件间快速切换
附一张vim操作图
以下部分是转载的,总结的比较全面,重要的是可读性很好,所以搬到这里来,随时学习, check here。
###光标移动(Cursor Movement)
命令 | 作用(解释) |
---|---|
h,j,k,l | h 表示往左,j 表示往下,k 表示往右,l 表示往上 |
Ctrl +f | 上一页 |
Ctrl +b | 下一页 |
w , e , W , E | 跳到单词的后面,小写包括标点 |
b , B | 以单词为单位往前跳动光标,小写包含标点 |
O | 开启新的一行 |
^ | 一行的开始 |
$ | 一行的结尾 |
gg | 文档的第一行 |
[N]G | 文档的第N行或者最后一行 |
###插入模式(Insert Mode)
命令 | 作用(解释) |
---|---|
i | 插入到光标前面 |
I | 插入到行的开始位置 |
a | 插入到光标的后面 |
A | 插入到行的最后位置 |
o , O | 新开一行 |
Esc | 关闭插入模式 |
###编辑(Editing)
命令 | 作用(解释) |
---|---|
r | 在插入模式替换光标所在的一个字符 |
J | 合并下一行到上一行 |
s | 删除光标所在的一个字符, 光标还在当行 |
S | 删除光标所在的一行,光标还在当行,不同于dd |
u | 撤销上一步操作 |
ctrl +r | 恢复上一步操作 |
. | 重复最后一个命令 |
~ | 变换为大写 |
[N]>> | 一行或N行往右移动一个tab |
[N]<< | 一行或N行往左移动一个tab |
###关闭(Exiting)
命令 | 作用(解释) |
---|---|
:w | 保存 |
:wq , :x | 保存并关闭 |
:q | 关闭(已保存) |
:q! | 强制关闭 |
###搜索(Search)
命令 | 作用(解释) |
---|---|
/pattern | 搜索(非插入模式) |
?pattern | 往后搜索 |
n | 光标到达搜索结果的前一个目标 |
N | 光标到达搜索结果的后一个目标 |
###视觉模式(Visual Mode)
命令 | 作用(解释) |
---|---|
v | 选中一个或多个字符 |
V | 选中一行 |
###剪切和复制(Cut and Paste)
命令 | 作用(解释) |
---|---|
dd | 删除一行 |
dw | 删除一个单词 |
x | 删除后一个字符 |
X | 删除前一个字符 |
D | 删除一行最后一个字符 |
[N]yy | 复制一行或者N行 |
yw | 复制一个单词 |
p | 粘贴 |
###窗口操作
命令 | 作用(解释) |
---|---|
:split | 水平方向分割出一个窗口 |
:vsplit | 垂直方向分割出一个窗口 |
:close | 关闭窗口 |
Ctrl +W | 切换窗口, h 到左边窗口,j 到下方窗口,k 到上方窗口,l 到右边窗口 |
版权声明:本文标题:VIM 命令学习记录 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724511469h753448.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论