vim的用法

vim

vi中存在一些特殊字符表示行号,“.”表示当前光标所在行,$表示末尾行

状态切换命令

i 切换到插入模式,在光标左侧输入正文。
a 切换到插入模式,在光标右侧输入正文。
o 切换到插入模式,在光标所在行的下一行增添新行。
O 切换到插入模式,在光标所在行的上一行增添新行。
I 切换到插入模式,在光标所在行的开头输入正文。
A 切换到插入模式,在光标所在行的末尾输入正文。
s 切换到改写模式,用输入的正文替换光标所指向的字符。

cw 切换到改写模式,用输入的正文替换光标右侧的词。
cb 切换到改写模式,用输入的正文替换光标左侧的词。
cd 切换到改写模式,用输入的正文替换光标的所在行。
c$ 切换到改写模式,用输入的正文替换从光标开始到本行末尾的所有字符。
c0 切换到改写模式,用输入的正文替换从本行开头到光标的所有字符。

文件保存与退出 o:q 在文件未作修改的情况下退出。

o :q!  强制退出,不保存对文件所做的修改。
o : wq   保存文件修改并退出。
o :w  保存文件。
o :w file   将正文内容保存到 file 中。
o : n w file   保存第 n 行到 file 中。
o : m , n w file   保存第 m 行至第 n 行到 file 中。
o :r file   读取 file 的内容输出到正文光标所在位置。
o :recover  恢复文件。

光标移动 ok 光标上移一行。

o j  光标下移移行。
o h  光标左移一个字符。
o l  光标右移一个字符。
o H  光标移到屏幕顶行。
o M  光标移到屏幕中间。
o L  光标移到屏幕底行。
w 行内移动到下一个词的开头。
e 行内移动到单词的结尾。
b 行内移动到前一个单词的开头。
0 移动到所在行行首。
$ 移动到所在行行尾。
^ 移动到所在行的一个非空字符。
:n 光标跳转到第n行。

编辑操作

rc 用 c 替换光标所指向的当前字符。
x 删除光标所在处的字符。
dw 删除光标右侧的一个单词。
db 删除光标左侧的一个单词。
dd 删除光标所在的行。
p 将缓冲区的字符串粘贴到光标后面。
P 将缓冲区的字符串粘贴到光标前面。
yy 将当前行复制到缓冲区。
nyy 复制n行到缓冲区。

字符串搜索替换

/str 正向搜索字符串str。
:/str/ 正向搜索字符串str。
?str 逆向搜索字符串str。
:?str? 逆向搜索字符串str。
:s/str1/str2/ 用字符串str2替换行中首次出现的字符串str1。
:s/str1/str2/g 用字符串str2替换行中所有出现的字符串str1。
:m,n s/str1/str2/g 用字符串str2替换第m行到第n行中所有出现的字符串str1。

撤销与重做

u 撤销前一跳命令产生的结果。
. 重做最后一条命令的操作。

 

vim的分割窗口split命令

显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文
件。这一切都可以通过分割窗口实现。
打开新窗口最简单的命令如下:
www.2cto.com
:split (水平分割) || :vsplit (垂直分割)
这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中.
CTRL-W w 命令可以用于在窗口间跳转。如果你在上面的窗口,它会跳转到下面的窗口,
如果你在下面的窗口,它会跳转到上面的窗口。(CTRL-W CTRL-W 可以完成相同的功能这
是为了避免你有时按第二次的时候从 CTRL 键上缩手晚了。)
关 闭 窗 口" :close "
任何退出编辑的命令都可以关闭窗口,象 ":quit" 和 "ZZ" 等。但 "close" 可
以避免你在剩下一个窗口的时候不小心退出 Vim 了。(十分重要的设定啊~)
关 闭 所 有 其 它 窗 口“ :only ”
这个命令关闭除当前窗口外的所有窗口。如果要关闭的窗口中有一个没有存盘,Vim 会显
示一个错误信息,并且那个窗口不会被关闭。
www.2cto.com
用分割窗口打开指定的文件(two.c) " :split two.c"
用分割形式新建文件" :new "
在 窗 口 间 跳 转(怎么说呢,现在鼠标可以代替,不过为了提高效率,还是推荐看看)
由于你可以用垂直分割和水平分割命令打开任意多的窗口,你就能够任意设置窗口的布
局。接着,你可以用下面的命令在窗口之间跳转:
CTRL-W h 跳转到左边的窗口
CTRL-W j 跳转到下面的窗口
CTRL-W k 跳转到上面的窗口
CTRL-W l 跳转到右边的窗口
CTRL-W t 跳转到最顶上的窗口
CTRL-W b 跳转到最底下的窗口
你可能已经注意到这里使用移动光标一样的命令用于跳转窗口。如果你喜欢,改用方向
键也行。
移动窗口
如果在分割多个文件时候发现文件顺序不是你所期望的.通过如下来更改
CTRL-W K 会使当前窗口移动到上面并扩展到整屏的宽度。
CTRL-W H 把当前窗口移到最左边
CTRL-W J 把当前窗口移到最下边
CTRL-W L 把当前窗口移到最右边
如果留心观察会发现,还是H-J-K-L四个键位.这里只是使用了大写状态了.
################################################################################
对所有窗口执行命令
www.2cto.com
:qall
这表示 "quit all" (全部退出)。如果任何一个窗口没有存盘,Vim 都不会退出。同时光
标会自动跳到那个窗口,你可以用 ":write" 命令保存该文件或者 ":quit!" 放弃修改。
:wall
这表示 "write all" (全部保存)。但实际上,它只会保存修改过的文件。Vim 知道保存
一个没有修改过的文件是没有意义的。(挺有意思啊~~)
vim -o one.txt two.txt three.txt
这个命令就是在终端下使用的,就是一次性打开3个文件并使用分割形式显示.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值