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. 使用DatePickerDialog、TimePickerDialog

    DatePickerDialog与TimerPicker的功能比较简单,用户也简单,只要如下两步即可. ①通过new关键字创建DatePickerDialog.TimePickerDialog实例,调 ...

  2. Java线程:线程交互

    一.基础知识 java.lang.Object的类的三个方法: void notify():唤醒在此对象监视器上等待的单个线程. void notifyAll():唤醒在此对象监视器上等待的所有线程. ...

  3. 第一部分 记事本搞定第一个C#程序和编译过程剖析

    记事本搞定第一个C#程序 进行下面三个步骤:编码,编译和托管运行. 1.记事本进行编码: using System; class Program{ public static void Main() ...

  4. 手机APP测试思路及测试要点

    一  手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...

  5. java cooki的使用

    session: 当新客户端发现一个HTTP请求时服务端会创建一个session.并分配一个sessionID作为服务端来客户端的识别,session对象会 保存在服务端.此时session对象处天N ...

  6. 深圳尚学堂:Android APP的测试流程

    每一个新开发的软件都避免不了测试,我在这里总结了一些Android系统的移动端APP测试的一些测试流程,希望可以给大家一些帮助. 1. UI 测试App主要核ui与实际设计的效果图是否一致:交互方面的 ...

  7. js精要之构造函数

    // 枚举对象 var obj = {} obj.name = "bob"; obj.age = "; obj.sex = "boy"; consol ...

  8. asp.net权限认证:OWIN实现OAuth 2.0 之密码模式(Resource Owner Password Credential)

    asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...

  9. SQLSERVER 中实现类似Mysql的 INSERT ON DUPLICATE KEY UPDATE

    通过SQLServer创建索引时,有一个IGNORE_DUP_KEY的选项,可以类似实现. IGNORE_DUP_KEY = { ON | OFF } 指定对唯一聚集索引或唯一非聚集索引执行多行插入操 ...

  10. MySql存储过程的使用

    MySql存储过程跟sql server 有一定的区别,使用说明和步骤如下 使用说明 创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([p ...