vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书之前,也经常使用过vim编辑一些简单文件之类的,会一些基本简单的命令.但看书的过程中,发现很多以前从没用过的,操作起来简单的命令,还是令人精神振奋的,vim还可以这样用!!!! Simple Editing  ----- 介绍一些基本的vi操作命令 Moving Aound in a Hurry   ----…
本篇介绍vim的基础操作,各种编辑模式的切换,光标的移动,删除,撤销/重做,保存,查找等基础命令: 基础操作 编辑文件 vim  [options] [file ...] 模式 打开文件后进入vim的普通模式,可以用各种命令操作文本 按下字母i,进入Insert模式,此模式下所有键盘按键都为普通字符,插入到文本当中.按ESC退出,进入普通模式 按下字母v,进入Visual模式,此模式下可以选择文本,然后进行命令操作.按ESC退出,进入普通模式 按下字母R,进入修改模式,此模式下可以修改光标所在位…
多窗口打开多个文件 vim -o file1 file2 ... ---- 默认上下分割窗口 vim -0n file1 file2 ... ---- vim默认会上下等分n个窗口 分割窗口 :[v]split file ---- 以横向分割(带v)或纵向分割当前窗口打开文件(等比分割) :[n][v]split/new [++opt] [+cmd] [file] ----  n:从顶部开始在新窗口中现实多少行,opt:vim选项,cmd:在新窗口中执行的命令,file:新窗口中现实的文件.例如…
本章介绍ex编辑器,为什么要介绍这样一个新的编辑器呢:其实ex编辑器不能算是一个新的编辑器,vi只是它的visual model,它已经是一个更普遍,基于行的编辑器.ex提供更大机动和范围的编辑命令.使用ex,有很多方式更简单的切换文件和转移文件内容,更快的编辑比一个屏幕更大的文本块. 打开文件 ex file  ---- 使用ex打开一个文件,不会显示文件内容.显示一行文件状态,一行命令标志 显示文件内容 [number]-[p]  ----  现实第几行的内容,p可以省略 [number]-…
更多的组合命令 [number]-[command]-[test object] number:   数字 comand:  c,d,y  (修改,删除,复制) test object: 移动光标的命令 例如 "-"为连接字符,不是命令组成部分 [c,d,y]-[H,L,M]  ----  (修改,删除,复制)到屏幕的(首行,尾行,中间) [c,d,y]-[+,-]  ----  (修改,删除,复制)到(上一行,下一行) [c,d,y]-5|     -----   (修改,删除,复制…
上一篇文章中,简单列出了一些基本的Vim操作,也列出了很多的光标移动命令,本章主要是有哪些命令可以更快的移动光标. vim的编辑操作,用得最多就是移动光标,对于很少行的文件来说,基本的命令就够用了,但是大部分情况是,每个文件都有成百上千行,基本的移动光标的命令就显得很笨拙了.故单独一章来讲述怎么更快速的移动光标,可参见下面的命令: 以屏幕为参考移动光标 CTRL-f ---- 光标向下移动一个屏幕 CTRL-b ---- 光标向上移动一个屏幕 CTRL-d ---- 光标向下移动半个屏幕 CTR…
本节介绍vi和ex的一些高级功能. 配置vi 配置文件.exrc可以保存在你的主目录下,在vi启动的时候执行这个配置文件.但在当前工作目录下可以放置一个配置文件,对当前目录做一个自定义配置. :set命令 :set命令有两种参数,一种开关参数,表示开启或关闭:一种普通的参数,后面为一个数字或者一个字符串. 开关参数基本都有默认值,:set option:开启 :set nooption:关闭.例如::set ic(查找忽略大小写),:set noic(查找区分大小写) 有一些参数必须赋值,:se…
一般替换 s/old/new   --- 替换当前行的第一个匹配项 s/old/new/g ---- 替换当前行所有的匹配项 number1,number2-s/old/new/g  ---- 替换从number1行到number2行中所有的匹配项 1,$s/old/new/g = %s/old/new/g ----- 替换整个文件的所有匹配项 确认再替换 在替换命令后面加个c(confirm),例如1,30s/his/the/gc.每次找到匹配项时会提示是否需要替换,输入y,Enter确认替换…
Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑器的三种工作模式 Vi / Vim是全屏幕编辑器,正因为这种特性,通常Vi分为三种模式:一般模式.编辑模式.命令行命令模式. (1)     一般模式Normal Mode(common Mode, c-Mode) Vi处理文件时,进入该文件就是一般模式,此模式中输入的任何字符皆被视为指令.可以用方…
UNIX系统中有非常多编辑器.能够分为两种类型:行编辑器和全屏编辑器.行编辑器每次仅仅能在屏幕中显示文件的一行,如ed和ex编辑器.全屏编辑器能够在屏幕上显示文件的一部分. vi(读为vee-eye)编辑器是UNIX_Like操作系统的标准文本编辑器. vi是 visual editor的缩写,vi编辑器属于全屏编辑器.能够在阅读文件时当场就改动.而且立马看到改动后的结果. 对于新手而言,vi编辑器难度还是很大的,可是一旦熟悉了vi编辑器,可能就再也不想又一次使用其它"简单"的编辑器了…
颓废选手在 Ubuntu/Noilinux 下的生存指北 Hint: 这里的 "#" 都是假注释,复制的时候记得删除 一些基本的生存命令 ctrl + alt + t #调出终端 # 进入终端以后: cd xxx #进入 xxx 目录 mkdir xxx #创建 xxx 文件夹 touch xxx #创建 xxx 文件 rm xxx #删除 xxx vim a.cpp #用 vim 编辑 a.cpp g++ a.cpp -o a #编译.. a.cpp 生成 a g++ a.cpp -…
前言在上一篇文章里我们了解了ansible的常用模块,今天我们来了解下ansible-playbook,ansbile-playbook是一系统ansible命令的集合,其利用yaml 语言编写,ansbile-playbook命令根据自上而下的顺序依次执行. playbook通过ansible-playbook命令使用,它的参数和ansible命令类似,如参数-k(–ask-pass) 和 -K (–ask-sudo) 来询问ssh密码和sudo密码,-u指定用户,这些指令也可以通过规定的单元…
最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github 插件市场也有很多,——但是,基本命令还是整理汇总,记下笔记! 建立本地仓库 git init  创建本地仓库 git init [project-name] git remote add origin git@github.com:UserName/yourProjectName.git   把本地…
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量并没有什么区别. 函数是一等公民,这是函数式编程的基础,然而 Python 中基本上不会使用 lambda 表达式,因为在 lambda 表达式的中仅能使用单纯的表达式,不能赋值,不能使用 while.try 等语句,因此 lambda 表达式要么难以阅读,要么根本无法写出.这极大的限制了 lamb…
Python 简单入门指北(一) Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑科技.本文主要针对的读者是: 毫无 Python 经验的小白 有一些简单 Python 经验,但只会复制粘贴代码,不知其所以然的读者 觉得单独一篇文章太琐碎,质量没保证,却没空读完一本书,但又想对 Python 有全面了解的读者 当然, 用一篇文章来讲完某个语言是不可能的事情,我希望读完本文的读者可…
可能比文档还详细--VueRouter完全指北 前言 关于标题,应该算不上是标题党,因为内容真的很多很长很全面.主要是在官网的基础上又详细总结,举例了很多东西.确保所有新人都能理解!所以实际上很多东西是比官网还详细的.你想要的,在官网上没理解的,基本在这里都能找到解答!本来想分成两篇发的,但想想男人长点也没什么不好的.所以也希望各位收藏插眼标记(滑稽) 特点:本文主要是参考了官方文档.除了不常用的过渡动效和数据获取,都进行了分析说明.说明:每一节都在文档的基础上进行了更通俗的解释;例子:每一节都…
关于supervisor的入门指北 在目前这个时间点(2017/07/25),supervisor还是仅支持python2,所以我们要用版本管理pyenv来隔离环境. pyenv 根据官方文档的讲解,pyenv的主要思路是修改环境变量,将想要用的那个版本的路径插到环境变量中的最前面去. 下载安装的话,直接 curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bas…
关于Gevent的使用指北 只是看了入门指南,和一个翻译文档.写一下个人读书心得. 其实看完之后,第一个反映就是asyncio这个系统库,感觉gevent现在所做的一些事情是与asyncio很像的,但是他自己有一个非常可怕的黑科技,就是monkey补丁. 使用gevent的过程可以简单地概括为,将一个任务(函数)放到gevent.spawn()中,将它变成Greenlets类,这一步个人感觉是与asyncio中,将一个函数变成future类或者task类是一个作用,然后就阻塞到全部注册的任务完成…
Celery入门指北 其实本文就是我看完Celery的官方文档指南的读书笔记.然后由于我的懒,只看完了那些入门指南,原文地址:First Steps with Celery,Next Steps,Using Celery with Django.ps:本文基于celery版本4.0.2 First Steps with Celery 其实先要理解Celery是干什么的,在我的个人理解里,他是用来管理消息队列的,具体一点讲就是,有一百个任务要分给十个人做,Celery就是负责分这一部分的工作. 在…
后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一峰:理解RESTful架构 阮一峰:RESTful API 设计指南 RESTful API指南 依赖注入 DI 浅谈依赖注入 阮一峰:软件架构入门 Java版 JDK版本:1.8 + 集成开发环境: IDEA https://www.jetbrains.com/idea/ 数据库:MySQL 5.…
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer. 这说明没有安装 Composer 就无法安装使用 Laravel. 安装 Laravel 1.使用 Composer 下载 Laravel 安装包: $ composer global require "laravel/i…
3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无法升级至 TP 5 ,请往下看.另外本指南使用环境为 Linux/Mac,若开发环境为 Windwos,则或许可能会有某些问题,如果有任何问题,欢迎在下方评论区留言讨论. 参考文档: http://www.kancloud.cn/manual/thinkphp 由于 ThinkPHP 3.2 已经支…
c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> None, /// <summary> /// 当前语句必须为"select count(1) from .."格式,如果存在则继续执行,不存在回滚事务 /// </summary> WhenHaveContine, /// <summary> ///…
[From] http://www.cocoachina.com/ios/20170601/19404.html 引子 这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享,也算是对学习成果的总结.文章里面提到的做法也许不是最佳实践,也许里面的方法称不算是一份标准的指南手册,所以标题就只好叫“伪最佳实践指北”了.有更好的方法欢迎大家一起留言讨论,一起学习. 由于笔者不太了解Android,所以以下的文章不会涉及到Android. 一. React Native 和 W…
最近有挺多小伙伴跟我说起虚拟机这个东西,所以,今天就给大家写一篇虚拟机安装使用指北吧. 虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件.(该段说明来自wiki) 我们即将安装的软件 VMware 则是系统虚拟机.可以轻松在一个操作系统上面安装多一个或者多个操作系统,如kali.Ubuntu.centos等Linux,windows系统,甚至Mac系统都可以…
在 JavaScript 作用域不完全指北 中,我们介绍了作用域的概念以及 JavaScript 引擎.编译器和作用域的关系.作用域有两种主要的工作模型:词法作用域和动态作用域.其中最为普遍的也是大多数编程语言所采用的是词法作用域,我们主要对其进行研究学习.在传统编译语言的流程中, 程序中的一段源代码在执行之前会经历三个步骤, 统称为"编译". 分词/词法分析(Tokenizing/Lexing) 这个过程会将由字符组成的字符串分解成(对编程语言来说) 有意义的代码块, 这些代码块被称…
Android Studio是我学习Android开发路上的第一块绊脚石,新建一个项目,一行代码没动,直接编译不起来,我太难了,所以本文叫指北 本文讲解在9102年如何在国内网络不通畅的情况下流畅的使用Android Studio 1. 关闭代理 网上能搜索出一堆通过增加国内镜像站的代理来使下载SDK的速度飞快,然而我一个都用不了,建议不要使用代理 2. 改hosts dl.google.com的DNS无法解析,这是导致很多问题的元凶,通过手动在hosts中增加域名和ip的映射来解决这个问题 在…
常用STL使用指北 set和multiset set和multiset都是基于红黑树(显然是一个二叉搜索树)的STL. 定义 我们可以使用(multi)set<元素类型>名称来定义一个(multi)set. 自定义排序 默认排序方式都是从小到大.因为结构体之间没有定义<,所以我们需要自定义一个比较函数. 如果元素不是结构体: //自定义比较函数myComp,重载"()"操作符 struct myComp { bool operator()(const int &…
微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小程序就不需要自建服务器了). 作者也只是刚做了一个微信小程序,有什么问题可以一起探讨.(其实对于不用云开发的小程序还有些好奇,因为云开发的实际上有种傻瓜式一键解决的感觉). 本博客仅针对一些关键步骤作出陈述,希望初学者能快速得到一个整体的印象,详细的内容请参考官方文档. 注册开发者账号 注册地址:https:…
这是上一篇博客的源代码. 这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. # Markdown 标记语言指北 #### TOC 1. [什么是 Markdown?](#%E4%BB%80%E4%B9%88%E6%98%AF-Markdown) 1. [Markdown 可以用来干什么?](#Markdown-%E5%8F%AF%E4%BB%A5%E7%94%A8%E6%9D%A5%E5%B9%B2%E4%BB%80%E4%B9%88) 1. [第一步?](#%E7%AC…