插入:
i 从光标当前位置开始插入
a 从光标当前位置的下一个字符开始插入
o 在光标位置的下行插入一个空行,再进行插入
O 在光标位置的上一行插入一个空行,再进行插入
I 从光标所在行的开头开始插入正文
A 从光标所在行的末尾开始插入正文
文件保存与退出:
:w 保存文件
:w : 另存为
:w! 强制保存文件
:q 退出
:q! 强制退出
:x = :wq
文件写入与打开:
:w filename 保存文件为给出的文件名
:w! filename 强制保存文件为给出的文件名
:f filename 将当前文件重命名为filename
:r filename 插入文件内容到光标指定的位置
:e filename 编辑新文件(打开另一个文件进行编辑)
:e! 放弃对文件的修改,并加裁原始的文件内容
复制粘贴:
[n]x 删除从光标开始的连续n个字符
[n]dd 删除从光标开发的n行
[n]yy 复制从光标开始的n行
p 粘贴
gp 粘贴
u 撤消
U 撤消对一行的全部操作
ctrl+r 重做(反撤消)
. 重复上次操作
yw 复制一个word
dw 剪贴一个word
光标跳转:
h、j、k、l 左、下、上、右
H、M、L 屏幕最上边、屏幕中间位置、屏幕最下边
gg 跳到文件第一行
G (或:$) 跳到文件最后一行
[num]gg(或[n]G) 跳到文件第n行
[n]H 跳到屏幕第n行
fx 光标移动到本行之后第一此出现“x”的位置;如:fa ,移动到下一次a出现的位置
Fx 光标移动到本行之前一此出现“x”的位置;如:fa ,移动到上一次a出现的位置
:n 跳到第n行(同[n]G)
w 光标向右移动一个字
W 光标移动到下的个空格之后
b 光标向左移动一个字
B 光标移动到上一个空格之后
num% 跳到文件num%处 , 如50%
编辑模式下按v 进入可视状态进行内容选择
[n]shift + > 所选内容向右移动一个tab
[n]shift + < 所选内容向左移动一个tab
查找替换:
/string 查找字符串 ,配合n(next)使用
* 搜索光标所在位置的一个word,接下来按n或N ,跳到下一次/上一次出现的位置
/\/xxx\> 查找以xxx结尾的字符串
/\ 完全匹配查找
:s/str1/str2 用str2替换行中首次出现的字符串str1
:s/str1/str2/g 用str2替换行中所有的字符串str1
:%s/str1/str2/g 用str2替换全文中所有的字符串str1,不询问,强制替换
:%s/str1/str2/gc 用str2替换全文中所有的字符串str1,询问
vi:
打开或新建:
vi
#命令行
:ed #最后一行模式
:fin[d] #在路径path中查找文件,然后编辑它
new # 在新窗口中编辑文件
窗口操作:
:sp(或ctrl+w+s): 打开一个新窗口,编辑相同的内容。
:new(或ctrl+W+n): 打开一个空的北新窗口。
ctrl+w+w: 在多个窗口间切换
J 删除行末的换行符,将下行与本行合并为一行
滚屏:
ctrl+u[p] 向下滚半屏
ctrl+d[own] 向上滚半屏
ctrl+f[ront] 向下滚一屏
ctrl+b[ack] 向上滚一屏
ctrl+e 向下滚一行
ctrl+y 向上滚一行
zz 将光标所在的行放在屏幕中间
zt 将光标所在的行放在屏幕第一行 top
zb 将光标所在的行放在屏幕最后一行 botton
Go 跳到文件尾部去插入
标签:
:tabe [file] 打开新标签并在新标签中编辑file所指的文件
:[num] gt 在不同的标签之间切换 num指的是第几个标签
:tabo 关闭所有其它的标签页
:tabs 列出标签页和它们包含的窗口
:tabfir[st] 跳转到第一个标签
:tabl[ast] 跳转到最后一个标签
vim比较文件内容:
vimdiff main.c main2.c
vim设置:
set number
set nonumber
set ignorecase #忽略大小写 (查找字符串时)
set noignorecase
set ruler #显示当前光标所在位置
set nuruler
set hlsearch #高亮显示 (查找字符串是,找到后高亮显示)
set nohlsearch
set incsearch #在输入字符串时就开发查找
set noincsearch
syn on #高亮显示
set backspace=2 #backspace可用
set tabstop=4 #按Tab键可相当于移动四个空格
set softtabstop=4
阅读(1065) | 评论(0) | 转发(0) |