vim编辑器
vi : visual Inertface 可视化接口
vim : vi improved 扩展版
语法着色

模式化编辑器:
  编辑模式(命令模式): 默认模式
  输入模式:
  末行模式:
    等待输入命令
    10d 删除第十行
    10,20d
    set nu 显示行号
    ! ls /etc 不用退出文件输入 系统shell命令

模式转换
编辑--> 输入

      小写
      i:在当前光标位置前面输入
      a:在当前光标位置后面输入
      o:在当前光标下一行新建一行 输入内容
      大写
      I 行首
      A 行尾
      O 上一行新建一行

输入--> 编辑   ESC

编辑-->末行: 必须得从编辑模式进入 只需要输入:冒号

末行--> 编辑: esc esc
                 

功能介绍:

一、 打开文件
    vim +12 光标到12行
    vim + 打开光标到末尾
    vim +/PATERN 打开文件定位到第一次匹配的位置

二、关闭文件
末行模式关闭文件 : wq ==:x
编辑模式关闭文件 : 大写ZZ 保存退出 就是 shift+zz

三、移动光标(编辑模式)
1. 逐个字符移动(手的位置)
  h
  l
  j 下
  k 上

  8l 向左移动8个字符
2.逐单词移动
  w 移到下一个单词的词首
  e 移到当前或者下一个单词的词尾
  b 移到当前或者前一个单词的词尾
  3w 向后跳3个单词
3.行内跳转
  0(零) 绝对行首
  ^ 行首的第一个非空白字符
  $ 绝对行尾
4.行间跳转
  #G 跳转至第#行
  G 跳转到最后一行
  末行模式下: 直接给行号回车

四、翻屏
  crtl+f:向下翻一屏
  crtl+b:向上翻一屏
  crtl+d:向下翻半屏
  crtl+u:向上翻半屏
五、删除单个字符
#x 删除 光标所在处后面#个字符 x删除单个

六、删除命令:d
d命令和跳转命令组合使用 3dw
  #dw, #de #db
  dd: 删除当前光标所在行 3dd
  #dd 删除包括当前光标所在行在内的#行
末行模式下:
  starAdd,EndAdd . , +5 表示删除当前行到后面五行
  支持相对表示法:
  . 当前行
  $ 最后行 $-3
  +# 向下的#行
七、粘贴命令:p

删除的东西不会立即删除,删除的内容保存在缓冲区中
最后一次删除的内容 可以粘贴到指定地区 可以粘贴n次
小p: 如果删除或复制为整行,则粘贴至所在行的下方;非整行,则粘贴至所在行的下方
大P: 相反

八、复制命令 y
用法同d

九、先删除内容,再转换为输入模式
修改
c: 用法同d

十、替换单个字符
r
R 替换模式

十一、撤销编辑undo
u:撤销前一次操作 连续使用
只能在缓存中保存50次
3u 至倒数第三次
后悔撤销操作了,就有Crtl+r 撤销的撤销,还原最近一次的撤销操作
类似于window下的crtl+z Crtl+y
十二、重复前一次编辑操作
  点命令 .
十三、可视化操作
v:按字符选取
V: 矩形选取(整行选中)

十四、查找
/PATTERN 往后查找
?PATTERN 向前查找
n 下一个
N 上一个

十五、查找并替换
用法同set
在末行模式下使用s命令
startadd,endadd @ pattern @string @gi
: .,$-1 s/hello/HELLO @g
1,$ == % 表示全文

十六、使用vim打开多个文件
多个文件间复制粘贴
vim file1 file2 file3
:next 切换至前一个文件
:prev 切换至前一个文件
:last 切换至最后一个
:first切换至第一个文件
:qa 全部退出 q只能退出当前

十七、分屏显示一个文件(word里面的窗口拆分)

Crtl+w,s :水平拆分窗口
Crtl+w,v :垂直拆分窗口
在窗口间切换
Crtl+w,APROW(方向键) 或者两次Crtl+w也能向下一个切换
:qa 关闭所有窗口

十八、分窗口多个文件
vim -o file1 file2 水平分割
vim -O file1 file2 垂直分割

切换 也是 crtl+w

十九、将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:addr1,addr2 w /path/to/somewhere

二十、将 另外一个文件的内容填充在当前文件中
:r /root/inittal
直接在后面添加另一个文件的内容

二十一、和shell交互
:!commen
然后回车后 会再返回到vi编辑界面

二十二、高级话题
1、显示或取消行号
:set nu
:set nonu

2.显示忽略或区分字符大小写 :set ignorecase
:set ic
: set noic

3.设定自动缩进 :set autoindent
写脚本编程的时候很重要
:set ai
:set noai
4、查找到的文本高亮显示 或者取消掉
:set hlsearch
:set nohlsearch

5.语法高亮
:syntax on
:syntax off

二十三、配置文件
/etc/vimrc
单用户家目录下 自己新建.vimrc
~/.vimrc

vim 进程强行被退出 网络断开的时候 经常会报错
vim -r inittab
file.swp 文件要手动删掉 备份文件 rm -f .inittab.swp

If this is the case, use ":recover" or "vim -r inittab"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".inittab.swp"

VIM编辑器常用功能整理笔记的更多相关文章

  1. vim编辑器——常用操作整理

    注意:以下的操作都是在命令状态下进行的,不要进入插入状态了.参考这里 1.删除 dd       删除一行 ndd    删除以当前行开始的n行dw    删除以当前字符开始的一个字符ndw   删除 ...

  2. vim程序编辑器---常用操作整理

    vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set  nu 文件显示行数 :set  non ...

  3. Linux vim编辑器常用命令

    Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器 常用的vim命令如下图 补充: num+命令 对命令执行num次,如  5dd:剪切一行 * 5  即剪切5行,其它如此 /text   ...

  4. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  5. Vim 命令常用功能详解

    Vim编辑器 文本编辑器 , 字处理器ASCIIvi:Visual Interface vim :VI iMproved 全屏编辑器,模式化编辑器vim 模式:编辑模式(命令模式)输入模式末行模式 模 ...

  6. Linux学习笔记之八————vim编辑器常用命令总结

    <1>从命令行模式到插入模式 i  :在光标前插入 a :在光标后插入 I  :在光标所处在的行的行首 A :在光标所处在的行的末尾 o  :在光标所处在的行的下一行 行首 O :在光标所 ...

  7. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

  8. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  9. Apache运维中常用功能配置笔记梳理

    Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...

随机推荐

  1. 医失眠灵验方--五味子50g 茯神50g 合欢花15g 法半夏15g

    方药:五味子50g  茯神50g  合欢花15g  法半夏15g  水煎服    主治:失眠健忘    此方为已故名老中医李培生之验方,用于临床治疗失眠健忘症,疗效显著,其主药为五味子,滋阴和阳,敛阳 ...

  2. 第4章 sed命令

    1 sed命令基本用法 sed(stream editor)是流编辑器,可对文本文件和标准输入进行编辑: sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件,如果需要保存改动内容,可以选择 ...

  3. 在yii中使用gearman

    最近项目需要将利用gearman进行任务调度,目前所用框架为yii,在部署好gearman后,试图在yii中调用gearman,一直报错: 提示reverse函数没有定义,明明已经定义了啊!可能是当时 ...

  4. alter table <表名 > add constraint <主键名>用法

    alter table <表名 > add constraint  <主键名>用法介绍 1.主键约束: 要对一个列加主键约束的话,这列就必须要满足的条件就是分空 因为主键约束: ...

  5. TCP/IP详解学习笔记(6)-- IP选路

    1.概述      路由算法是用于获取路由表中的路由项目.它是路由选择协议的核心. 2.路由算法的分类      从路由算法能否随网络的通信量或拓扑自适应的进行调整变化来分,可以分为两类. 静态路由选 ...

  6. java学习之(接口)

    使用接口 接口不能用于创建实例,但接口可以用于声明引用类型变量.当使用接口来声明引用类型变量时,这个引用类型变量必须引用到其实现类的对象.除此之外,接口的主要用途就是被实现类实现.归纳起来,接口主要有 ...

  7. 再看.net本质(二)

    3.[HTTP协议]  当浏览器寻找到Web服务器的地址之后,浏览器将帮助我们把对服务器的请求转换为一系列参数发送给Web服务器.服务器收到浏览器的请求对数之后,将会分析这些数据并进行处理,然后向浏览 ...

  8. android style 中一些颜色的定义

    colorControlNormal 单选多选等控件颜色 colorControlActivated 单选多选等控件激活颜色

  9. Largest palindrome product

    A palindromic number reads the same both ways. The largest palindrome made from the product of two 2 ...

  10. 判断jquery是否已经加载,如果没有动态加载

    方法一: // Only do anything if jQuery isn't defined if (typeof jQuery == 'undefined') { if (typeof $ == ...