VIM从原理上认识^M问题】的更多相关文章

问题背景 VIM在打开文件的时候如果遇到两种换行符风格(dos与unix)共存的文件,通常会在行尾显示出烦人的^M.如果^M较少,比较容易定位到哪几行出了问题,但是如果^M较多,就很难搞.下面先给出解法,再来做分析. 解决方案 ^M较少,需要定位哪几行包含^M,只需要在vim中输入: /\r ^M较多,需要定位到哪几行不包含^M,只需要在vim中输入: /^\(.*\r\)\@!.* 原理解析 要了解如何定位^M,首先得知道^M是如何产生的.要了解^M的产生原因,首先得了解VIM的filefor…
继上文(AJAX(一)AJAX的简介和基础)作为联系. 传统网页在注册时检测用户名是否被占用,传统的校验显然缓慢笨拙. 当ajax出现后,这种体验有了很大的改观,因为在用户填写表单时,签名的表单项已经发送给了服务器,然后根据用户填写好的内容进行数据查询.在查询号无需页面刷新就自动给了提示.类似这样的应用大大的提高了用户的体验,本节简单介绍自动校验表单制作方法.从原理上分析ajax的作用. 1.搭建框架 首先为html框架 <form name="register"> <…
周末宅在家里睡完觉就吃饭,吃完饭接着睡觉,这日子过的实在是没劲啊.明明还有计划中的事情没有做, 为什么就是不想去做呢,这样的生活持续下去,必然会成为一个彻头彻尾的loser.上一篇写的 初识编码 ,这一篇把web编码写出来和菜鸟们分享一下.图片比较多,手机用户不要看,流量没了俺不负责. 一.html页面编码 当浏览器请求一个静态的html页面时,服务器会将html页面的字节流通过网络传输给浏览器.浏览器再将字节流解码成相应的html文本字符,然后将html元素渲染出来.在这个流程中浏览器有一个解…
从原理上理解MySQL的优化建议 预备知识 B+树索引 mysql的默认存储引擎InnoDB使用B+树来存储数据的,所以在分析优化建议之前,了解一下B+树索引的基本原理. 上图是一个B+树索引示意图,每个节点表示一个磁盘块,也可以理解为数据库中的页. 分析下B+树索引的查找过程,如果我要查询主键为35的数据,索引会怎么走? 首先会判断35小于根节点37,继续查询左子树 判断35大于22和33,那么进入右子树,找到了叶子节点33 继续遍历找到35 最后取出其data即可 在索引的情况下,查询35只…
vim 个性化设置与功能扩展均通过 script 来实现,这种 script 又叫 plugin.plugin 是 vim 的核心与精髓. 最常用的配置文件 vimrc,也是一种 plugin.换句话说,所有的 plugin 都在配置 vim 的行为. plugin 类型及其相互关系 常见的 plugin 类型: vimrc global filetype syntax compiler vimrc 是核心 plugin (类似 main 函数),所有的配置都可以在这一个文件中完成. 所有其他配…
前阵子,刚安装Ubuntu时,安装vim的问题,现在些出来分享一下.apt-get install vim正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成有一些软件包无法被安装.如果您用的是不稳定(unstable)发行版,这也许是因为系统无法达到您要求的状态造成的.该版本中可能会有一些您需要的软件包尚未被创建或是它们还在新到(incoming)目录中.下列的软件包有不能满足的依赖关系:vim: 依赖: vim-common (= 1:7.1.314-3ubu…
开发者对 Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它.文 章下边贴了一个Base64的编解码器,方便阅读文章的同时来实验. 一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就 不能通过邮件传送.这样用途就受到了很大的限制,比…
NodeJS是近年来比较火的服务端JS平台,这一方面得益于其在后端处理高并发的卓越性能,另一方面在nodeJS平台上的npm.grunt.express等强大的代码与项目管理应用崛起,几乎重新定义了前端的工作方式和流程. NodeJS的成功标志着它的强大,但是不是所有情况都适合应用NodeJS作为服务器端平台呢? 答案当然是否定的,而网上也是众说纷纭.那我们从原理出发了解一下NodeJS的适用情况. 在讲NodeJS之前我们不仿先看一下传统(以Apache为代表)的服务器端处理平台处理并发的方式…
BASE64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据.这是一种可逆的编码方式.编码后的数据是一个字符串,其中包含的字符为:A-Z.a-z.0-9.+./共64个字符:26 + 26 + 10 + 1 + 1 = 64. [注:其实是65个字符,“=”是填充字符].   开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时间就可以彻…
今天群里提到面试时问到apache和nginx原理有什么不同,一时还真没想起,想到的只是他们的优缺点,便搜索了下.记录学习下.顺便记录下优缺点吧. 原理不同之处: 为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型.目前Linux下能够承受高并发访问的Squid.Memcached都采用的是epoll网络I/O模型. 处理大量的连接的读写,A…