用vim也有一段时间了,谨以此记下一些有意思的技巧。

  1. 跳转

    • hjkl,左下右上。

    • b/e跳转到上/下一个单词
    • ^/$跳转到行头/尾
    • 从{,[,(,相应的},],)相互跳转。能够用%
    • 跳转到局部变量的定义gd,跳转到全局变量的定义gD
    • 跳转到上一个改动过的地方 g; 注意是g+分号
    • 跳转到下一个改动过的地方 g, 注意是g+逗号
    • :N ,跳转到N行
  2. 匹配的符号('', "", (), {}, [], <>)操作
    • ci?,di?,yi?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容。不包含?
    • ca?,da?,ya?,?为上述的匹配符号。则能够改动,剪切,复制。当中的内容,包含?
    • 举个样例,删除()的内容不包含括号,仅仅须要di?
    • 复制一个字符串"abcde",仅仅须要光标移到当中,ya"
  3. 缩进代码
    • 自己主动缩进 =,假设从头到尾缩进就是gg=G
    • 指定区域缩进 >,< ,能够配合可视模式,C-v进入批量操作缩进。
  4. 折叠函数
    • 移动到{,zf%。
    • 折叠还能够zfN,这样就能够折叠N行
    • 打开折叠,zo
  5. 实用的替换
    • 最基础的替换 :A,Bs/X/Y/g ,从A行到B行,将X替换成Y,没有g仅仅替换每行的第一个。
    • 全局替换: %s/X/Y/g
    • 删除仅仅有另个以上空格的空行 :g/^\s*$/d
    • 删除行尾的空格 :%s= *$==
  6. 批量凝视
    • Ctrl-v 进入可视模式。之后I(shift I),插入凝视符。再按Esc(基本功)
    • 从A到B行最左边增加凝视 :A,Bs/^/#/ (python,php,shell等等),可是。凝视都插在最左边
    • 从A到B行第一非空字符前插入凝视 :
      • %s/([^ ]+)/#\1/
      • :%s/[[:graph:]]\@=/#
  7. 搜索
    • 自光标向前搜索 /pattern
    • 自光标向下搜索 ?pattern
    • 仅搜索行首,/^pattern,或者行尾/pattern$
    • 自光标向前搜索光标所在单词 #
    • 自光标向后索索光标所在单词 *
    • 另外。搜索的。跳转到前一个N,下一个n。
    • 关闭高亮是 :noh
  8. 好用的多标签
    • 开启多标签 tabe 文件名称字
    • 移动到下一个tab,gt或者:tabn
    • 移动到上一个tab,gT或者:tabp
    • 移动到第n个标签, n gt ,注意n gt间要由空格
    • 关闭标签 tabc,用退出也能够
    • 另外多窗也是非常好用的在启动时候 vim -O2 file1 file2 ,注意是字母O,不是数字
  9. 有趣的计算器
    • 在插入模式时候,按Ctrl r =,输入表达式,就会在光标上出现了。

  10. 推荐一些有趣的站点

Skill of vim的更多相关文章

  1. VIM HML

    D:\skill\Apps\Vim\vim80\defaults.vim "set scrolloff=5 设置为默认值0即可

  2. [skill] vim 操作多个window

    前言: 分辨率越来越高,屏幕越来越大,行最长80不变,屏幕利用空白越来越大. 开多个window吧! 开window的命令: 平行开一个window:split <//path/file> ...

  3. [skill][vim] 常用技巧与配置

    一:  光标行列高亮 可以使用 :help highlight 查看相信帮助可颜色配置. set cursorline set cursorcolumn highlight Cursorline ct ...

  4. Java Software Engineer Skill Map

    # Java Software Engineer Skill Map## Basic### Core Java- Java The Complete Reference Ninth Edition.p ...

  5. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  6. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  7. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  8. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  9. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

随机推荐

  1. Android 使用Gallery组件实现图片播放预览

    Gallery(画廊)扩展了LayoutParams,以此提供可以容纳当前的转换信息和先前的位置转换信息的场所. Activity package com.app.test01; import com ...

  2. refresh table tablename ;MSCK REPAIR TABLE table_name;

    在更改分区内的文件后刷新表 refresh table tablename ; 我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS p ...

  3. Important Abstractions and Data Structures

    For Developers‎ > ‎Coding Style‎ > ‎ Important Abstractions and Data Structures 目录 1 TaskRunne ...

  4. request获取各种路径总结、页面跳转总结。

    页面跳转总结 JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使 ...

  5. 深入理解javascript之高级定时器

    setTimeout()和setInterval()能够用来创建定时器.其主要的用法这里就不再做介绍了.这里主要介绍一下javascript的代码队列. 在javascript中没有不论什么代码是马上 ...

  6. 【原生JS组件】javascript 运动框架

    大家都知道JQuerry有animate方法来给DOM元素进行运动,CSS3中也有transition.transform来进行运动.而使用原生的Javascript来控制元素运动,须要写非常多运动的 ...

  7. 在oracle存储过程中创建暂时表

    在oracle的存储过程中,不能直接使用DDL语句,比方create.alter.drop.truncate等. 那假设我们想在存储过程中建立一张暂时表就仅仅能使用动态sql语句了: create o ...

  8. js--09定时器

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  9. TCP连接状态详解

    tcp状态: LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ES ...

  10. 67.nodejs取参四种方法req.body,req.params,req.param,req.body

    转自:http://www.cnblogs.com/jkingdom/p/8065202.html 摘要: nodejs取参四种方法req.body,req.params,req.param,req. ...