Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5218823
  • 博文数量: 553
  • 博客积分: 13864
  • 博客等级: 上将
  • 技术积分: 11041
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-28 21:25
个人简介

个人Blog: hhktony.com

文章分类

全部博文(553)

文章存档

2015年(1)

2014年(2)

2013年(12)

2012年(384)

2011年(154)

分类: LINUX

2014-04-10 21:51:28

几种工作模式

进入插入模式

i       当前位置
I       当前行行首
a       当前位置的后一个位置
A       当前行行末
o       当前行的下一行
O       当前行的上一行

移动

h(left) j(down) k(up) l(right)

文本编辑

x       删除光标所在处字符
fn      找下一个字符n
dw      删除一个单词
dd      删除光标所在行
5dd     删除5行

u       撤销操作
ctrl+r  重做操作(u的反向操作)
yy      复制一行
p       粘贴

r       替换一个字符
s       更改一个字符
cw      更改一个单词

设置

:set number(nu)      设置行号
:set nonumber        取消行号
:set autoindent(ai)  自动缩进

保存、退出

:wq                  保存退出
ZZ                   保存退出
:w filename          文件另存为

窗口操作

:sp(new) filename    水平分屏
:vsp(vnew) filename  垂直分屏
ctrl +ww或hjkl        切换窗口
:e filename          打开另一个文件(把filename加载到新的缓冲区中)
:bn(buffer next)     切换到下一个缓冲区
:bd(buffer delete)   删除缓冲区

键盘映射

:map  :bn   将:bn命令映射为Tab键(map命令模式映射)
:imap jj        将jj映射为Esc(imap编辑模式映射)
let g:mapleader=","  全局设置用,代替\

标签

:tabe filename  新建标签
:tabr           切换到第一个标签
:tabl           切换到最后一个标签
gt              切换到下一个
gT              切换到上一个
map t gt
map T gT

查找、替换

/pattern         向后搜索字符串pattern
?pattern         向前搜索字符串pattern
n                下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N                上一个匹配(同上)

:g/^$/d          删除空行
:%s/^../         删除每行前两个字母(%表示当前文件所有的, s-similar替换)
:%s/old/new/g    搜索整个文件,将所有的old替换为new(g-global所有的)
:1,10s/old/new/g 替换1到10行里的
:%s/old/new/gc   搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

书签

ma  把当前位置存在标签a
Ma  把当前文件存在标签a
`a  跳转到标签a处

可视化模式

v       进入可视模式,单字符模式
V       进入可视模式,行模式
ctrl+v  进入可视模式,列模式

o       跳转光标到选中块的另一个端点
U       将选中块中的内容转成大写
u       将选中块中的内容转成小写
aw      选中一个字
ab      选中括号中的所有内容,包括括号本身
aB      选中{}括号中的所有内容
ib      选中括号中的内容,不含括号
iB      选中{}中的内容,不含{}

>   块右移一个tab
<   块左移一个tab
y   复制块
d   删除块
~   切换块中内容的大小写

选中、删除、复制、修改引号或括号内的内容

vi’、vi”、vi(、vi[、vi{、vi< -            选中
di’、di”、di(或dib、di[、di{或diB、di< -  删除
yi’、yi”、yi(、yi[、yi{、yi< -            复制
ci’、ci”、ci(、ci[、ci{、ci< -            更改

在vim中使用shell命令

:! date
:r! date       将date的输出结果输入到当前文本

其他

gg=G 或 ggVG=  格式化文本
阅读(3318) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~