【vim】快捷键罗列

来源:互联网 发布:dobot源码 编辑:程序博客网 时间:2024/05/01 12:21

移动游标

ctrl+f 向下翻页
ctrl+b 向上翻页
ctrl+d 向下半页
ctrl+u 向上半页
+ 移动到非空白的下一列
- 移动到非空白的上一列
n 向后移动到n个字元
0 或home 移动到这一行的最前
$ 或end 移动到这一行的最后
H 移动到最上方
M 移动到中间
L 移动到最下方
G 移动到档案最后一行
nG 移动到n行=:n
gg 移动到档案第一行=1G
n 向下移动n行

搜索、取代

/word 游标之下寻找word
?word 游标之上寻找word
n 【重复前一个搜索动作】 N 【反向重复与n相反】
:1,$s/word1/word2/g[c] 从文件的第一行到末尾搜索word1,并将其替换为word2.如果有c则表示需要confirm确认

删除、复制、粘贴

x 向后删除一个字元(游标挡着的) [del]
X 向前删除一个字元 [backspace]
nx 向后删除n个字元
dd 删除一整行 其实是剪切可以用p粘贴
ndd 删除n行
d1G 删除游标所在到第一行之间的资料
dG 删除游标所在到最后一行的资料
dd0yynyyny1GyGy0y 复制游标所在的那个字元到该行的行尾的资料
p 粘贴在游标的下一行
P 将复制的资料 粘贴在游标的上一行(所在行)
J 将游标所在的列和下一列的资料结合成同一列
c 重复删除多个资料
u 撤销 复原前一个动作
[ctrl]+r 重做上一个动作
. 重复前一个动作

插入 取代 的编辑模式

i 从目前游标所在处插入
I 在目前所在行的第一个非空白字元开始插入
a 从目前游标所在处后一个字元插入
A 从游标所在行的最后一个字元处开始插入
o 在游标所在的下一行插入新的一行
O 在游标所在的上一行插入新的一行
r 取代模式 只会取代游标所在那个字元一次
R 取代模式 会一直取代游标所在的字元直到esc
[Esc] 退出编辑模式

储存 离开 的命令模式

:w 保存
:w! 强制保存,能否成功和权限有关
:q 退出
:q! 强制退出 不保存修改
:wq! 强制储存后退出
ZZ 若档案没修改则退出
:w [filename] 将编辑的资料存储成另一个档案
:r [filename] 在编辑的资料中读入另一个档案
:f [filename] 将当前文件改名
:n1,n2 w [filename] 将n1和n2的内容存储成filename档案
:! command 离开vi 显示执行command结果
:r ! command 将执行的命令结果写入到文件

缓冲区 操作

:hide edit two.txt 有one.txt 和two.txt 时候 打开one.txt修改了但暂时没想保存,还想编辑two.txt 有点牵强
:buffers 查看缓冲区列表 :ls 也能达到同样的效果
u 代表外缓冲区
% 当前缓冲区
# 轮换缓冲区
a 激活缓冲区 缓冲区被加载并显示
h 隐藏缓冲区 缓冲区被加载不显示
= 只读缓冲区
- 不可改缓冲区 ‘modifiable’选项不置位
+ 已修改缓冲区
:buffer number/name 跳到编号number或者名称(不一定是全名)的文件
:sbuffer number/name 水平分屏显示
:bnext 编辑下一个缓冲区 简写:bn
:bprevious 编辑前一个缓冲区 简写:bp
:bfrist 编辑第一个缓冲区 :brewind 等同
:blast 编辑最后一个缓冲区
:bmodified count去第count个编辑过的缓冲区
:bdelete number 删除缓冲区号number的缓冲区
:buffers! 显示buffer的’列表外’缓冲区
:bwipe 让vim彻底忘记’列表外’缓冲区

窗口 操作

:split 水平分割窗口 简写:sp :3split alpha.c 3是高度
可以加文件名 和命令 eg: :split 文件名 或者 :split +命令 文件名
+ww 窗口切换 或者 +w +w
:q /ZZ 关闭窗口 +wc 向下+wj +wk
:new 和split差不多但new会在新窗口中新建一个文件
:sview 命令新建一个窗口并且其中的内容是只读的—-这个貌似不是只读
-w+ 把当前窗口高度增加”行数”行(如不指定,默认为1)
-w- 把当前窗口高度减少”行数”行(如不指定,默认为1)
-w= 所有窗口一样高
-w_ 把当前窗口的高度设定为”行数”,如不指定则把它最大化

翻页 操作

+f Ctrl+forward 向前翻页
+b Ctrl+back 向后翻页
+u Ctrl+up 向上翻半页
+d Ctrl+down 向下翻半页

0 0
原创粉丝点击