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

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

在命令状态下。有例如以下一些经常使用命令:

新增:

a从光标后面開始加入文本

A从光标所在行的末尾開始加入文本

插入:

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

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

删除与改动:

x删除光标处的字符

dd删除光标所在的整行

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

D删除光标到行尾的文本,经常使用语删除凝视语句(d$)

光标移动:

在远程登录模式下,vim不支持PageUp、PageDown、Home、End等功能键!(郁闷吧)

^光标移动到行首

$光标移动到行尾

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]/ig(3-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 //行

运行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窗体的占用情况

vim 命令整理(自己经常使用)的更多相关文章

  1. Vim 命令整理

    1. 文件命令 2. 模式切换 3. 移动命令 4. 书签命令 5. 修改命令 6. 可视化操作 7. 区域选择 8. 宏命令 9. 分屏 10. 系统设置命令 1. 文件命令 [:]开始的命令需要输 ...

  2. vim命令整理

    最近使用vim比较多,整理一下!

  3. 整理常用的 vim 命令

    vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学 ...

  4. Vim 模式及常用命令整理

    VIM 命令     以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.   vim的模式 基本上可以分为3种模式,分别是命令模式(command mode).插入模 ...

  5. Linux 命令整理 vim

    Vim  一.官方网站 http://www.vim.org 二.背景 所有的 Unix Like 系统都会内建 vi 文书编辑器,但是在我们编程这里开发使用最多的要数 vim命令了. 三.操作 三种 ...

  6. 【linux】---常用命令整理

    linux常用命令整理 一.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: l ...

  7. vi / vim 命令集合

    vim的命令太多了,不常用就会忘记,所以我决定把vim的各种命令整理下来,包括vim的插入删除.光标移动.多窗口编辑.复制粘贴.查找替换.以及一些常用命令 删除操作 dd 删除当前行 ndd      ...

  8. vi命令整理

    vi命令整理 u 撤销上一次操作 ctrl+r 恢复上一次操作 : 跳转至第1行 :$ 跳转至最后一行 ctrl+f 向文章末尾翻页 ctrl+b 向文章开始翻页 yy 复制一行 p 粘贴刚刚复制第一 ...

  9. 常用 vim 命令总结

    学习 vim ,是需要经常使用的,而这些命令,是我这段时间最常用的命令,很有效率的提高的我的文本编辑效率.----------------------------------------------- ...

随机推荐

  1. 安装MongoDB启动时报错‘发生系统错误2’的解决办法

    安装数据库mongodb启动时报"发生系统错误2". 这个问题是如果你之前已经装过一次,并且两次安装目录不同,就绝对会碰到的,因为你之前安装的路径已经在注册表中生成了,并没有随着你 ...

  2. HashMap面试题:90%的人回答不上来

    在java面试中集合类似乎已经是绕不开的话题,对于一个中高级java程序员来说如果对集合类的内部原理不了解,基本上面试都会被pass掉.下面从面试官的角度来聊聊一个候选者应该对HashMap了解到什么 ...

  3. 微信公众平台快速开发框架 For Core 2.0 beta –JCSoft.WX.Core 5.2.0 beta发布

    写在前面 最近比较忙,都没有好好维护博客,今天拿个半成品来交代吧. 记不清上次关于微信公众号快速开发框架(简称JCWX)的更新是什么时候了,自从更新到支持.Net Framework 4.0以后基本上 ...

  4. 虚拟软件vmware安装

    什么是虚拟软件: 虚拟原件是一个可以使你在一台机器上同时运行二个或更多Windows.LINUX等系统.它可以模拟一个标准PC环境.这个环境和真实的计算机一样,都有芯片组.CPU.内存.显卡.声卡.网 ...

  5. Python后端开发要求

    关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...

  6. mybatis批量修改

    使用mybats经常要用到批量修改或者删除,贴出批量修改的代码.如果是批量删除,可将update换成delete. <update id="changestatus" par ...

  7. SQL Server 初识游标

    ---恢复内容开始--- 游标:游标是一种能从包含多个数据的结果集每次提取一条的机制 游标的特点是: 检索得到的数据集更加灵活 可有针对性的对数据进行操作 拥有对数据进行删除和更新的能力 为何使用游标 ...

  8. ConstraintLayout

    ConstraintLayout使用笔记 具体使用参考:http://blog.csdn.net/guolin_blog/article/details/53122387 ConstraintLayo ...

  9. SQL---存储过程---sp_addextendedproperty表字段加描述

    相信很多朋友对利用SQL创建表已经很熟悉了,但我们发现在创建表的同时不能像添加默认值或者主键一样为列加上说明信息,所以我们经常是创建表后再到表的可视化设计器中为列加上说明,这样操作起来就相当麻烦了,本 ...

  10. Serializable 都这么牛逼了,Parcelable 还要你何用?

    一些闲聊 距离上一篇文章似乎又是很久了,看起来也没有很多反馈,催更就更不用说了.哈哈,放弃了. 话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀. ...