vim的好处(四大好处)

  1. vim具有大量的操作技巧,编辑能力强大且速度比其他工具快的多!

    (这里举个简单的小例子:将每行的前四个字母复制到每行的末尾; 将文本中的所有word替换为words; 等等很多看起来人力操作十分困难的编辑,vim几个字母就搞定!)

  2. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计!

  3. 有太多 Linux 上面的指令都默认使用 vim 作为数据编辑的接口,所以必须要会 vim ,否则很多指令你根本就无法操作!

  4. 所有的 Unix Like 系统都会内建 vim 文书编辑器,其他的文书编辑器则不一定会存在!

vim配置文件

最好只配置当前用户下的配置文件:

1. cp /usr/share/vim/vimrc ~/.vimrc     先复制一份vim配置模板到个人目录下

2. vi 该文件 在末尾加上相应功能

    set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限

    set nu!                                    "显示行号

    syntax on                                "语法高亮度显示

    set autoindent                       "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)

    set tabstop=4                        "设置tab键为4个空格

    set ai!                                      " 设置自动缩进

    set backspace=2           " 设置退格键可用

vim常用命令总结

俗话说:”好记性不如烂笔头,熟能生巧“

下面本人以实操为基础来进行vim的命令总结(按照常用频率排序)

  • 设定是否显示行号

    :set nu    :set nonu
  • 修改完之后,突然反悔了,要全部复原,有哪些方法?

    一直按u回滚    或者    :q! 强制不保存退出
  • 跳到制指定行(n行为例)

    nG    或者    ngg     gg为跳到首行,G为跳到尾行
  • 查看第43行第59个字符是什么

    43G    59->
  • 搜寻文本中的第一个’gzip‘这个字符串

    gg    /gzip
  • 将 29 到 41 列之间的『小写 man 字符串』改为『大写 MAN 字符串』,并且一个一个挑选是否需要修改

    :29,41s/man/MAN/gc          如果后面是g则在取代前不显示提示字符给用户确认 (confirm) 是否需要取代!
    其中1,$s为从第一行到最后一行 :1,$s/ /tab 将文件中的四个空格全部替换为tab
    (python脚本时经常用到)
  • 将第9行至第15行的数据,复制到第16行

    :9,15 copy 16    或者    9,15 co 16
    nyy    复制当前光标下面n行
    p 粘贴光标下一行
  • 删除多行

    :m,nd    dd表示删除当前行,yy表示复制当前行
  • 在多行行首添加删除字符(以全文添加注释为例)

    先ctrl+v 进入块编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来
    然后按大写的I,再插入注释符,比如"#" I表示在当前光标前插入,i表示在当前光标后插入
    最后按Esc即可
  • 移动到这一列的最前面字符处

    0(移到整行最前面)  ^(移到整行第一个字母,不算空格)    $(移动到这一列的最后面字符处)
  • 屏幕『向下』移动一页,相当于 [Page Down]按键

    [Ctrl] + [f]    [Ctrl] + [b]表示屏幕『向上』移动一页,相当于 [Page Up] 按键
  • 在目前光标所在的下一列处插入新的一列

    o     O为在目前光标所在处的上一列插入新的一列
  • 多窗口功能

    :sp {filename}    若无{filename}出现的则是同一个文件在两个窗口间
    ctrl + w + w 窗口间切换
  • 自动补齐功能

    ctrl + n

vim 常用指令总结的更多相关文章

  1. vim 常用指令

    其他命令 <c-L> 重绘屏幕 <c-z> 挂起vim回到shell,想继续vim只需要输入 fg <c-x-f> 文件路径提示 <c-N> 当前文件中 ...

  2. vim常用指令一览

    插入指令 i 在光标处插入字符 I 在光标所在行最前插入 a 在光标所在字符后面插入 A 在光标所在行的最后插入 o 在光表所在行下面插入一行 O 在光标所在行上面插入一行 r 替换光标所在字符,只替 ...

  3. vim常用指令

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

  4. vim常用指令及快捷键(持续更新)

    (这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 发现了个非常赞的网站  http://openvim.com/ 以下很多操作都是安装好vund ...

  5. vim常用指令整理小结

    启动Vim后,默认是在 Normal 模式下,但是我们有时不知道是在编辑模式还是normal模式,按ESC键就可以返回normal模式.因为所有的命令都需要在Normal模式下使用,所以建议多按几下E ...

  6. Vim常用指令总结(持续更新中)

    1 模式变更 命令 说明 a(append)/i(insert) 普通模式→插入模式 : 普通模式→命令行模式 ESC或者Ctrl 插入模式→普通模式 R(Replace)/Insert两次 普通模式 ...

  7. vim 常用指令-持续更新

    1. 查询文件夹file1内文件数量:ls file1 | wc -l 2. 生成文件夹file1内的文件列表:find file1 -type f > list.txt 3. git管理文件, ...

  8. vim常用指令参考

    (完)

  9. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

随机推荐

  1. listview-android:打造万能通用适配器(转)

    转载:https://blog.csdn.net/q649381130/article/details/51781921: 1.前言 listview作为安卓项目中一个的明星控件,它的适配器的写法是广 ...

  2. SSM框架-初学Mybatis框架

    SSM(Spring+SpringMVC+Mybatis)是目前项目开发比较流行的一套组合框架,而Mybatis是负责数据库操作的那部分框架,具体 我也说不上来 传统的JDBC操作比较冗长而繁琐,而用 ...

  3. 适用于nodercms的打包构建脚本

    背景 最近自己用nodercms搭建了一个简单的博客系统,用户发布一些自己谁便谢谢的文章.感谢nodercms团队,这个cms轻量易用,用于做个人博客太方便了.开发了博客系统,肯定设计到部署到AWS或 ...

  4. Vue公司项目实战步骤

    一.无权限,无验证的Vue项目 1.打好HTML+CSS+JS基础,及<Vue 2.0 实战> 2.编写用mock设计的案例: 3.将以上案例的后台用C#改写: 二.带安全验证的Vue项目 ...

  5. OO第三次博客

    规格化设计的发展历史 在计算机的早期发展中,软件开发没有可以遵循的系统方法,往往只有源代码而没有软件说明书等文档,因此这段时期的软件通用性时很有限的.后来到了20世纪60年代,软件开始被广泛使用,软件 ...

  6. Why Lua?

    Why Lua? 最近在很多的地方都遇到了lua这个东西,于是想一探究竟,为什么这么多的游戏前端都用了Lua脚本呢? 于是乎简单的看了一下Lua,目前总结出来了几点~ 还是先放上资源: GitHub上 ...

  7. java+Selenium+TestNg搭建自动化测试架构(3)实现POM(page+Object+modal)

    1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例 ...

  8. PG数据库基本命令——查询(笔记)

    1.插入数据(insert 语句) 语法: INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, ...

  9. kubernetes nginx ingress controller部署

    Kubernetes nginx ingress controller部署 1.下载kubernetes nginx的yaml文件 Wget https://raw.githubusercontent ...

  10. mysql查看及设置最大连接数

    #查看: show variables like '%max_connections%'; #设置: set GLOBAL max_connections = 1000;