shell笔记整理1---vim编译器基础应用(参考鸟哥)
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编译器基础应用(参考鸟哥)的更多相关文章
- MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行
最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...
- Python学习笔记整理总结【语言基础篇】
一.变量赋值及命名规则① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="sol ...
- Python学习笔记整理总结【web基础】【web/HTML/CSS/JavaScript/DOM/jQuery】
一.HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以 ...
- Linux学习笔记3-VI 和 VIM的使用
vi: Visual Interface vim: VI iMproved 全屏编辑器, Linux系统下最强大的两款编辑器,vi和vim,vi是Linux本身自带的一款编辑器,纯文本编辑不带任何效果 ...
- 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录
目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...
- Linux下VIM编译器的使用以及shell编程基础
VIM编译器的安装与使用 vim编辑器安装 在CentOS中,执行:yum -y install vim 普通模式 h: 左移一个字符 j: 下移一行 k: 上移一行 l: 右移一个字符 PageDo ...
- 学习ReactNative笔记整理一___JavaScript基础
学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...
- bash shell笔记1 脚本基础知识
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
随机推荐
- MongoDB安装环境搭建
Mongodb的默认端口号27017 _id是全局唯一值,不要去给这个列赋值,默认是唯一的,如果赋值,列入有两列的_id:2,则会报冲突不能插入 [root@HE4 ~]# tar xvf mongo ...
- 记一次DG搭建过程中备库ORA-00210,ORA-00202,ORA-27086错误
ORA-00210: cannot open the specified control file ORA-00202: control file: '/u01/app/oracle/oradata/ ...
- netcat工具的使用
用途:网络管理工具. 可以读,写TCP或UDP 网络连接.简写为:nc 常见参数: -h 帮助信息 -l 坚挺模式 -n 指定IP地址 -p 指定端口号 -v 详细输出 1 客户端:很容易建立一个客 ...
- Boost.Asio技术文档
Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...
- Bootstrap相关的网站
http://www.bootcss.com/ http://expo.bootcss.com/ http://www.webresourcesdepot.com/20-beautiful-resou ...
- SQL Server-索引故事的遥远由来,原来是这样的?
前言 前段时间工作比较忙,每天回来也时不时去写有关ASP.NET Core的文章,无论是项目当中遇到的也好还是自学的也好都比较严谨的去叙述,喜欢分享,乐于分享这是我一直以来的态度,当然从中也会有些许错 ...
- quagga源码学习--BGP协议路由更新
BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了冗长的属性,community等等处理过程,不做详述. bgp_read函数是路由更新的事件处理函数,在收到BGP_MS ...
- [html5] 学习笔记- 编辑API之Range对象(二)
本节继续介绍range对象的方法,包括cloneRange,cloneContents,extraContents,createContextual,createContextual-Fragment ...
- mybatis入门-第一个程序
今天,我们就一起来完成mybatis的第一个小demo,使用mybatis对我们的数据库进行一个小小的操作. 需求 根据用户id查询用户的信息. 环境搭建 java环境:jdk1.7版本 开发工具:e ...
- uml视频系列(二)——uml的概述
在与uml进行了第一次的接触后,就被uml的博学多才给迷住了,uml居然可以做这么多的东西.才思敏捷的uml是设计软件的好帮手. 你还在为自己的类图不会设计而感到无助吗?你还在为你的对象不好确定而感到 ...