Write with Vim (1)
Write with Vim (1)
- 本文出自Svitter的blog
- 原文在之前的也曾发表
- 大约在一年前使用vim?这个也是个不确定的时间。具体什么时间使用Vim早已经忘记了。
现在用的还算顺手,但是很多东西其实都还没有认真的学一下。最简单的比如说一部分
正则表达式的匹配,以及vimscript的写法等等。也是没有具体时间去认真的深入,毕竟
科技的世界里有太多太多可以探索的东西了= =。- 在大多数情况下我还是认为自己写一些前人已经有的blog毫无价值,但是转念一想写blog
又是为了谁呢,还不是为了自己吗。总结过去,才能更好的前进走向未来。- 另外最近又在开始看emacs了。不过总感觉这样是不好的行为——vim我还没有钻研透彻,就
跑去了E去到处乱看,最后哪个都搞不好——谁又知道呢?- 废话也是少说,写本文是给新手入门的。
- 另外今天发现K的作用是查找命令(默认是!man)[2014-09-27]
- 本文是利用vimperator(firefox)+ gvim进行书写的,还有了markdown的高亮等等插件。
入手Vim
首先我认为你是在Linux下使用vim的,而不是windows。如果是windows,我建议你寻找类似的
取代方案,或者等着我以后补充。如果给你带来不便了,你来咬我啊~
当年学习vim的时候遵从诸位大神的理解,跟着vimtutor走了一趟,感觉还是比较不错的。
最关键的还是自己要多多使用vim,不能停,就算是一开始很不爽,也要坚持使用下去
第一步是学习
vimtutor,这个毋庸置疑。最关键的输入i, 还有移动hjkl记住了就可以了
之后最关键的任务就是不停的用vim,就算是觉得慢也用——当然在慢的过程中要思考如何能快。
学习使用vimtutor就是在命令行中输入:
vimtutor
第一步我个人认为是最难的一步。尤其是度过那一段干啥都很慢,狂点鼠标还用不了的阶段。然后不是跳到问题3就是跳到本问题了。慢慢发现熟悉的
<C-c>(就是Ctrl+c)不能用了,到了Vi
m里面变成了终止退出命令了(就像是Esc)(原本也是使用ESC来退出编辑模式的,但是后来发现<C-c>
比较快捷,于是就使用他了。(如果你没看懂,重新返回第一步练习)。然后在vim中寻找关于复制,
粘贴的使用方法——至少我是这样。然后就会理解vim中的寄存器的相关信息。然后就开始找那些可以让自己快速编辑的命令了,比如说
w|e|f。我个人比较喜欢f,这个可以让我
快速定位一句话中的一个字母,欲罢不能。w,e倒是用的比较少,b的位置我不是很喜欢。在这个
过程中大概d | s | c这些家伙也慢慢出现了。再然后就开始发现数字和大写字母的好处了,从小写到大写也是一个慢慢认识的过程,也是不用
记忆到底是如何运作的,只需要看好了出现的位置就行了。用多了自然就会了。然后习惯了以后就是换行,查找,替换等等操作了。在这个过程中查找用的还是比较多的,
但是替换的命令我就经常忘记如何使用了——没办法,经常忘记。换行更多的使用的是行号g,或者
:行号然后等等等。
进阶?
你也可以直接下载我的配置使用,反正也没有多大改动
- 都是一步一步过来的但是我也忘记我是怎么走过来的。依然很水,不会的配置上网搜索然后copy到
自己的vimrc中。走到进阶就差不多懂得.vimrc为何物——因为可能受不了自己vim中的字体,配色,以及
目录——或者括号匹配等等问题。这个时候vimrc的作用就出来了。
这个时候我推荐你使用我的配置,也是基于网络上十分流行的一个版本:
git clone http://github.com/Svtter/MyVimrc
./install
如果出现什么问题,参见README.md中的FAQ
这样就可以安装运行了。出现一个问题很正常,如果不在意就继续使用,在意的话自己百度。出现很多
问题可能是因为Vundle没有装好,使用
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
我是在.vimrc之后才发现的这种神奇的编辑的。分块编辑的确能够极大的提升效率。然后不停
的阅读vimrc吧!然后从help中吸取精华吧!下一步我要熟练使用记录模式和正则匹配,以及vimscript的写法等等。希望本文对于想要学习Vim的
你有所帮助。
Write with Vim (1)的更多相关文章
- 如何创建Vim Dotfile?
Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...
- 玩转Vim 编辑器
一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...
- vim安装中文帮助手册
安装方法: 在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...
- vim环境变量配置、背景色配置
我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...
- vim+vundle配置
Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- VIM教程
vim 的环境设定参数 :set nu :set nonu 就是设定与取消行号啊! :set hlsearch :set nohlsearch hlsearch 就是 ...
- 在 Linux 打造属于自己的 Vim
Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
- Vim新手入门资料和一些Vim实用小技巧
一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...
随机推荐
- Servlet 的生命周期 及 注意事项 总结
Servlet的生命周期 图解Servlet的生命周期 生命周期的各个阶段 实例化 :Servlet 容器创建 Servlet 的实例 初始化 :该容器调用init() 方法 请求处理 :如果请求Se ...
- 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:
package com.swift; import java.util.Arrays; public class ArrayTest { public static void main(String[ ...
- vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解
最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...
- 【图论】[USACO]控制公司 Controlling Companies
玄妙的搜索 题目描述 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.(此处略去一句废话)据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了: 公司A = 公司B ...
- keepalived原理(主从配置+haproxy)及配置文件详解
下图描述了使用keepalived+Haproxy主从配置来达到能够针对前段流量进行负载均衡到多台后端web1.web2.web3.img1.img2.但是由于haproxy会存在单点故障问题,因此使 ...
- PyCharm 2018.1 软件汉化
下载汉化包 链接: https://pan.baidu.com/s/1buLFINImW_3cNzP8HsB4cA 密码: fqpu 安装汉化包 找到pycharm安装目录 直接把刚刚下载的汉化包复制 ...
- python3 包的发布
发布流程大概如下 1. 首先需要有一个python包,就是一个文件夹,但是此文件夹下面有__init__.py文件,里面内容是 现在要发布包TestMsg,这就是一个python包.在同级目录下新建s ...
- ActiveMQ发布-订阅消息模式(同点对点模式的区别)
点对点与发布订阅最初是由JMS定义的.这两种模式主要区别或解决的问题就是发送到队列的消息能否重复消费(多订阅) 点对点: 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费 ...
- DAG上的动态规划——嵌套矩阵问题
问题描述:有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d,或者b<c,a<d(相当于把矩形X旋 ...
- EF上下文对象创建之线程内唯一
在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,那么会造成数据混乱,每次创建的对象执行相应的数据库操作,此同时,其他的EF对象内获得的数据可能已经是“过期”的了.即这个数据已经变动 ...