Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99538
  • 博文数量: 13
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 162
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-02 17:06
文章分类

全部博文(13)

文章存档

2017年(1)

2016年(12)

我的朋友

分类: 嵌入式

2016-10-14 18:01:53


VIM 帮助系统vimtutor:
在命令行下输入vimtutor,即可进入vimtutor简明教程

vim 基本环境配置(.vimrc):
syctax on 自动语法高亮
set number 显示行号
set hlsearch 搜索时高亮显示
set tabstop=4 设置tab按键为4个字符
set smartindent 智能缩近
set encoding=utf-8 支持utf-8 编码
配置如下:
eg,vim ~.vimrc 回车,set command 即可。

第一阶段基本操作:
a. 删除/复制/粘贴:
x   删除一个字符;
dd 删除一行;
ndd 删除n行
d$ 删除到行末尾
dw 删除光标到一个单词末尾
yy 复制一行;
p   黏贴一行;
hjkl


b. 打开/文件存盘:
:e /path/file
:bp/bn 切换打开的文件;
:w 保存;
:q! 退出不保存;
:wq :x ZZ 退出并保存;
:saveas /path/file

c. 移动光标:
数字0, 移动光标到行头;
^ 本行第一个不是blank字符的位置;
$ 到本行末尾;
g_ 到本行最后一个不是blank字符的位置;

d. 插入模式:
a 在光标后插入
o   在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符

e. undo/redo:
u   :undo
CTRL+R   :redo

f. 修改命令:
r                       输入r和一个字符替换光标所在位置的字符
cw                      要修改一个字或单词的部分或全部
c$                      修改错误的部分到行末
命令格式:【number】 c object 或者 c 【number】 object
 
g. 搜索命令:
 /                      正向搜索
?                      反向搜索
 
h. 替换命令:
格式:
s/old/new               一行内替换头一个字符串old为new
s/old/new/g             一行内替换old为new
#,#s/old/new/g         两行内替换old为new
%s/old/new/g            全文内替换old为new
%/old/new/gc            全文替换时询问用户
 
l. 可执行外部命令:
!+command              可以执行外部命令command
 #,# w filename         保存从#行到#行的内容到filename文件中

第二阶段操作:
vi可以兼容的命令
a. 移动光标
. 可以重复上一次的命令
N 重复某个命令N次
NG 到第N行
gg 到第一行
G 到最后一行
w 到下一个单词的开头
e 到下一个单词的结尾(大写E/W 去过blank)

最强的光标移动:
% 查找匹配括号),],}
*/# 匹配光标当前所在的单词

命令/光标 联动:

eg: 
ye 从当前位置copy到本单词的最后一个字符,eg,y2/foo copy 2个“foo”之间的字符串
gU 变大写
gu 变小写
v 可视化的选择
d 删除
0 到行头
^ 到本行的第一个非blank字符的位置
$ 到行末
g_ 到本行最后一个非blank字符的位置
fa 到下一个为a的字符处
t, 到逗号前的第一个字符
3fa 在当前行查找第三个出现的a
F和T 和f,t一样,只不过是相反方向






阅读(1333) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~