Linux vim程序编辑器
Tips:
在 vi 里面, [tab] 这个按钮所得到的结果与空格符所得到的结果是不一样的,特别
强调一下!
一般模式
移动光标
30↓ 向下移动30行
40→ 向右移动40个字符
gg 移动到档案第一行,相当于1G
G 移动到档案最后一行
40G 移动到40行,配合:set nu 使用
0 移动光标到行首
$ 移动光标到行尾
ctrl+f 向下翻页 相当于 PageDown
ctrl+b向上翻页 相当于 PageUp
ctrl+d向下移动半页
ctrl+u向上移动半页
w 移动到下个单词(任何东西)的开头
e 移动到下个单词的结尾
b移动到上个单词的开头
搜寻
/xxx 光标下面,搜索xxx字符串
?xxx 光标上面,搜索xxx字符串
n 重复前一个搜索动作
N 反向重复前一个搜索动作
取代
:n1,n2s/word1/word2/g n1行到n2行之间搜索word1替换为word2
:1,$s/word1/word2/g 1行到最后一行搜索word1替换为word2
:1,$s/word1/word1/gc 1行到最后一行搜索word1替换为word2,并提示是否取代(confirm)
删除
x 向后删除,相当于del
X 向前删除,相当于backspace
dd 删除光标所在一整行
30dd 删除光标向下30行
dG 删除到页尾
d1G删除到页首
复制
yy 复制光标所在行(yank)
20yy 复制光标以下20行
粘贴
p 将已复制的数据在光标的下一行粘贴
P 将已复制的数据在光标的上一行粘贴
复原
u 复原,相当于Windows中的ctrl+z
ctrl+r 撤销,相当于Windows中的ctrl+y
. 重复前一个动作,比如重复删除一行,重复粘贴
编辑模式
i 当前光标字符前插入
I 当前行第一个非空字符插入
a 当前光标字符后插入
A 当前行最后字符后插入
o 当前行下一行插入一行
O 当前行上一行插入一行
r 可以替换当前字符
R 一直取代光标所在字符,知道按下esc
命令模式
:w 保存编辑
:q 离开vim
:q! 强制离开不保存
:wq 强制保存退出
:wq! 强制存盘后离开
:w [filename] 将编辑的数据存储成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据.亦即将[filename]在编辑癿数据中,读入另一个档案癿数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 癿内容储存成 filename 这个档案。
:set nu 设置行号
:set nonu 取消行号
:e! 恢复文件的原始状态
VIM的暂存档 救援回复 开启时的警告
使用vim编辑器时,在被编辑的文档同目录下,vim会生成名为.filename.swp的文件作为出现状况的存档功能
vim man_db.conf
按下ctrl+z vim会被放到背景去执行
[shichaogeng@study vitest]$ ll -a
[shichaogeng@study vitest]$ kill - %1 #仿真系统将vim删除的场景
vim man_db_config
进入恢复回档界面,如果想要不再提醒,需要删除.filename.swp
VIM额外功能
vim编辑右下角0%代表目前这个画面代表整个文件的1%
区块选择(visual block)
v: 字符选择,会将光标经过的地方反白选择
V: 列选择,会将光标经过的列反白选择
ctrl+v: 区块选择,可以用长方形的方式选择资料
y: 将反白的地方复制起来
d:将反白的地方删除掉
p:将刚刚复制的区块,在游标所在出粘贴
例:
[shichaogeng@study vitest]$ vim test1
按下ctrl+v进行反白选择
按y进行复制
按p进行粘贴
多文件编辑
:files 列出当前vim编辑的所有文件
:n 编辑下一个文件
:N 编辑上一个文件
多窗口功能
在指令模式下输入:sp filename就可开启分区窗口(如果同一文件打开两个窗口,:sp就可以,不必输入filename) split
ctrl+w+↓ 先按下ctrl键不放,按住w放开所有按键,按上下来切换
vim的挑字补全功能
ctrl+x--> ctrl+n 按照正在编辑的内容作为关键字补偿
ctrl+x--> ctrl+f 按照文件名作为关键字补偿
ctrl+x--> ctrl+o 按照扩展名作为关键字补偿
vim环境设定与记录
~/.viminfo记录你用vim做过的操作记录
/etc/vimrc 记录vim设定参数
你可以建立~./vimrc来定义你的vim参数
例如:
其中,"为批注
Linux vim程序编辑器的更多相关文章
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- 第十章、vim 程序编辑器
第十章.vim 程序编辑器 1. vi 与 vim 1.1 为何要学 vim 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim 的暂存档.救援回复 ...
- vim程序编辑器---常用操作整理
vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set nu 文件显示行数 :set non ...
- 攻城狮在路上(叁)Linux(三十一)--- vim程序编辑器
本篇主要介绍vim编辑器的使用方式,具体内容后续补充.
- linux学习笔记:vim程序编辑器—vim的使用
注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...
- 别人的Linux私房菜(10)vim程序编辑器
很多软件的编辑接口会主动调用vi vi分一般命令模式.编辑模式.命令行模式. 使用vi :/bin/vi welcome.txt 下下端显示文本有多少行,多少字符, 一般命令模式: 上下左右移动光标k ...
- Linux学习笔记—vim程序编辑器
vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...
- 第十章 Vim程序编辑器学习(下)
在试用vim编辑时,vim会在于被编辑的档案的目录下,再建立一个名为****.swp的档案,如果你的系统因为某些原因断线,你编辑的档案还没有存储,这个时候的****.swp就能够挥发救援的功能 1.在 ...
- 鸟哥私房菜基础篇:vim 程序编辑器习题
猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0310vi.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-我用 vi 开启某个档案后,要在 ...
随机推荐
- 一、Spring MVC起步——IntelliJ IDEA 搭建Spring MVC环境(手把手搭建)
本机环境: JDK 1.7 IntelliJ IDEA 2017.2 1.新建项目 Create New Project 选择Spring MVC 填写项目名和项目存放位置 然后点击Fin ...
- ELK5+redhat7.4配置elasticsearch集群
ELK介绍 ELK是三个开源软件的缩写,即elasticsearch.logstack.kibana. Elasticsearch:开源分布式搜索引擎,提供搜集.分析.存储数据三大功能.它的特点有:分 ...
- git连接远程仓库时,出现“ Repository not found"的解决办法
2018-08-25 今天连接远程仓库时,出现: 原来是远程仓库地址名字错了. 解决方法: 1.找到.git目录 2.进入.git找到config文件 3.修改config里面的远程地址url
- 搜索引擎算法研究专题六:HITS算法
搜索引擎算法研究专题六:HITS算法 2017年12月19日 ⁄ 搜索技术 ⁄ 共 1240字 ⁄ 字号 小 中 大 ⁄ 评论关闭 HITS(Hyperlink-Induced Topic Sea ...
- Make jQuery throw error when it doesn't match an element
Make jQuery throw error when it doesn't match an element 解答1 You could make a plugin to use to ensur ...
- nodejs 简单的搭建一个服务器
前言: nodejs 主要是后台语言 node 是在终端运行的,所以他可以进行 dos 命令 模块 自定义 JavaScript 是前台语言 nodejs 是 也是使用我们的 JavaScript ...
- Ansible安装及常用模块
配置文件:/etc/ansible/ansible.cfg 主机列表:/etc/ansible/hosts 安装anslibe wget -O /etc/yum.repos.d/epel.repo ...
- HTTP协议初步认识
1.基本概念: HTML:HyperText Transfer Protocol,中文名:超文本传输协议,基于请求/响应模式,基于TCP/IP协议,是一种,无连接,无状态协议: 2.HTTP传输过程: ...
- STL标准库-容器-set与map
STL标准库-容器-set与multiset C++的set https://www.cnblogs.com/LearningTheLoad/p/7456024.html STL标准库-容器-map和 ...
- Failure to find com.oracle:ojdbc6:jar:11.2.0.1.0
报错原因:oracle的ojdbc.jar是收费的,maven的中央仓库是没有的,需要下载到本地,然后打包进maven仓库 1.下载ojdbc6-11.2.0.1.0.jar包 http://cent ...