1、linux中的配置文件都已是以ASCII的纯文本的形式存在

2、vim文本编译器。

  • 一般模式:用vi打开的一个文件直接进入的就是一般模式,这个模式可以移动光标和删除字符,复制粘贴等,但是不能比那几文本内容。

一般模式中比较重要的操作:

x:  向后删除一个字符。

X:向前删除一个字符。

nx:向后删除n个字符,同理X。

dd:删除光标所在的一整行,同时也可以使用ndd来删除n行。

d1G:删除光标坐在到第一行所有的数据。

dG:删除光标到最后一行的所有数据。

yy:复制光标所在的那一行。同时可以使用nyy命令。y1G,yG。

p:进行光标下一行的粘贴。P进行光标上一行的粘贴。

u:复原前一个操作。

ctrl-r:重复上一次的操作。

a,o,i:进入插入模式INSERT。

r:进入REPLACE模式,r会替换光标所在的字符一次。R会一直替换光标所在的文字

  • 编辑模式:在界面出现INSERT或者REPLACE字样就是编辑模式,【ESC】退出编辑模式。
  • 命令行模式:在一般模式中我们可以输入“:,/,?”三个中的任何按钮可以进行大量的字符读取和替换。要使用下面的指令,先使用:

w:标记数据写入硬盘。

w!:强制写入,但是不一定成功。

q:离开vi编译器。

wq:离开后保存。

ZZ:若文件没有改动,则不保存离开,若文件被改动,则保存退出。

w[filename]:可以理解为另存为。

r[filename]:读入另一个文件。加载到光标后面。

n1,n2 w [filename]:将n1和n2的内容保存成为filename文件。

set num:显示行号,通过set nonu来取消。

n1,n2s/word1/word2/g:n1和n2代表的是行数,在n1和n2之间查找word1替换为word2。

1,$s/word1/word2/g:可以理解为全文,也可以添加c来进行替换确认。

/word:表示查找word。

n:表示查找下一个符合的字符串。

N:表示查找上一个符合的字符串。

  • vim常见的操作:

filename.swap:如果你的因为某些原因断线了,导致你文件没有保存,这时候我们就使用.swap文件,文件里面会给出你的错误原因和解决方案,R载入.swap中的内容,但是swap不会被删除,保存后应该删除swap文件,D:表示不载入直接删除swap文件。

多文件操作和多窗口功能。

块选择:首先使用ctirl-v进入快选择(visual block),这时光标可以上下移动但是会泛白,可以选择一列也可以是一行,然后按y进行复制,回到一般模式后按下p进行复制。

.vimrc和.viminfo:这两个文件中存放的是set命令相关的。

编码问题:中文编码有utf8、gb2312、big5等,我们要想正常显示就要使用相同的编码。注意下面的几个问题:

linux系统默认的编码在/etc/sysconfig/i18n文件中。

终端bash这个和LANG变量有关。

文件本身的编码。

软件编码。

解决办法:使用iconv

iconv命令:-f:原来的编码的方式。

--list:列出iconv支持的编码。

-t:to后面是新的编码方式。

-o file:保留原本的文件。

shell笔记整理1---vim编译器基础应用(参考鸟哥)的更多相关文章

  1. MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行

    最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...

  2. Python学习笔记整理总结【语言基础篇】

    一.变量赋值及命名规则① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="sol ...

  3. Python学习笔记整理总结【web基础】【web/HTML/CSS/JavaScript/DOM/jQuery】

    一.HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以 ...

  4. Linux学习笔记3-VI 和 VIM的使用

    vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...

  5. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  6. Linux下VIM编译器的使用以及shell编程基础

    VIM编译器的安装与使用 vim编辑器安装 在CentOS中,执行:yum -y install vim 普通模式 h: 左移一个字符 j: 下移一行 k: 上移一行 l: 右移一个字符 PageDo ...

  7. 学习ReactNative笔记整理一___JavaScript基础

    学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...

  8. bash&nbsp;shell笔记1&nbsp;脚本基础知识

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...

  9. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

随机推荐

  1. DataTimePicker

    日期时间控件 DataTimePicker 功能:拾取系统时间.日期,并以对应格式输出 重要属性: a. date,拾取的时间.  b. Time,拾取的系统时间 举例如:button2.Captio ...

  2. js动态设置输入框字体/颜色

    动态设置文本框颜色: 主要是利用javascript中的触发事件onfocus和onblur <script language="javascript" type=" ...

  3. P2P之UDP穿透NAT的原理与实现

    首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用.NAT分为两 ...

  4. MyBatis-Generator的配置说明和使用

    关于MyBatis: MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2. ...

  5. HDU3068(Manacher算法)

    最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. 【js 编程艺术】小制作二

    首先是一个html文档 /* explanation.html */<!DOCTYPE html> <html> <head> <meta charset=& ...

  7. 一个基于node 的小demo

    首先我们新建一个文件夹  demo-test-node-1 目录目录如下 -- blog_recents.js --template.html --titles.jspn 首先我们新建一个 templ ...

  8. 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

    作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...

  9. Html中插入javascript不识别问题

    今天,在敲代码的时候往html中加入一个JavaScript代码段.如下所示,加入后var没有自动变颜色,起初以为没有大问题,于是就接着往下敲. 调试的时候,发现没有反应. <script la ...

  10. Swift 面向对象解析(一)

    面向对象总体概括: Swift 不仅能够面向过程编程,也能够面向对象编程(OOP).面向对象其实就是“以对象为核心”,把我们的客观世界想着是由一个个对象组成的,面向对象编程则为对象提供了属性和方法,属 ...