vim 命令整理(自己常用)

来源:互联网 发布:查数据的网站 编辑:程序博客网 时间:2024/05/29 03:21

vimm(vimsual)Linux/UNIX系列OS中通用的全屏编辑器。

vimm分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来编辑文本资料的。当你进入vim时,会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态,在编辑状态,按ESC键进入命令状态。

在命令状态下,有如下一些常用命令:

新增:

a从光标后面开始添加文本

A从光标所在行的末尾开始添加文本

插入:

i从光标前面开始插入文本

I从光标所在行的开始处插入文本

删除与修改:

x删除光标处的字符

dd删除光标所在的整行

3dd删除光标所在行以及下面的两行

D删除光标到行尾的文本,常用语删除注释语句(d$)

光标移动:

在远程登录模式下,vim不支持PageUpPageDownHomeEnd等功能键!(郁闷吧)

^光标移动到行首

$光标移动到行尾

Ctrl+d向下翻半页

Ctrl+f向下翻一页

Ctrl+u向上翻半页

Ctrl+b向上翻一页

gg光标定位到文档头

G光标定位到文档尾

H光标定位到当前页首

L光标定位到当前页的最后一行的行首

w光标往后移一个字

b光标往前移一个字

[n]+光标向后移动n,[n]表示一个整数

[n]-光标向前移动n,[n]表示一个整数

[n]G光标定位到第n行行首,[n]表示一个整数


查找与替换:

/[str]查找字符串str[str]表示要查找的字符串

回车后会加亮显示所有找到的字符串,接着

命令n移动到下一个找到的字符串,命令N移动到

上一个找到的字符串eg /hello

部分替换(只能替换光标之所在的行)

:s/[src]/[dst] /i忽略大小写/g全部匹配eg :s/hello/world/ig替换一行

:3,6s/[src]/[dst]/ig3-6行中找)eg :3,6 s/hello/world

全部替换

:%s/[src]/[dst]/g将文档中所有src的字符串替换为dst字符串

:%s/^//g将文档每一行的行首的空格去掉

块操作:

v可视化块选择状态,选中块之后,可以对块进行删除(d),复制(y),剪切(x)

yy复制光标所在的整行

[n]yy从光标开始往下复制n,[n]表示一个整数

p将复制后的文本粘贴到光标处

u撤销上次操作

结束编辑:

:q在未修改文档的情况下退出

:q!放弃文档的修改,强行退出

:w文档存盘

:wq文档存盘退出

其他:

:help命令查看该命令的帮助提示

:%!xxd十六进制模式

:%!xxd–r返回文本模式

如果在编辑过程中不小心按了Ctrl+s,vim会处于僵死状态,按Ctrl+q可以恢复。

执行vim+3 main.c //表示定位到main.c的第3

执行vim+/printf main.c //表示定位到第一个printf

在命令模式下输入:new2.c //表示再打开一个vim,是横向的vnew2.c表示纵向

也可以通过:split vsplit sp vsp,两个窗口之间进行切换的方式:Ctrl+w,w

在命令模式中输入gg=G可以自动对齐

sed:管道查找替换程序

cata.txt | sed 's/aa/bb/' > b.txt //a.txt中的aa替换成bb并重定向输出到b.txt中。

:r my_open.c

将my_open.c读入当前目录

:vs (路径) 打开新的vim

选中一起tab z可视选中后,按shift按 >

一起建立多个vim 例如 vim 1.cpp 2.cpp ,然后 :n是下一个 :N 上一个 

在vim中 :sh退出编辑,ctrl+D就在进来  输入快捷方式

vim 中 :set nohls去高亮

/file  在vim中查找file并高亮显示

:31,35 co 4 在vim中吧31到35行的内容copy到第4行

vim里面找端错误的方法

1)ulimit -a

2)ulimit -c unlimited 在运行程序就会产生core文件

3)./main

3)gdb ./main core.6435 就可以查看所有错误

4)where

:r (路径)在本vim进行添加,按tab显示目录

head -n 28 server.c>client.c  将server.c的前28行copy到client.c

shift + * 向上查找相同单词

shift + # 向下寻找相同单词

lsof  -i: 80 查看80窗口的占用情况

0 1